Skip to content

Commit 4a9bbbe

Browse files
committed
fix(solid-form): fix AppField rerender when calling field function
1 parent f99d2da commit 4a9bbbe

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

packages/solid-form/src/createFormHook.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import { createContext, splitProps, useContext } from 'solid-js'
2-
import { createForm } from './createForm'
3-
import { createFieldGroup } from './createFieldGroup'
4-
import type { AppFieldExtendedSolidFieldGroupApi } from './createFieldGroup'
51
import type {
62
AnyFieldApi,
73
AnyFormApi,
@@ -20,9 +16,17 @@ import type {
2016
JSXElement,
2117
ParentProps,
2218
} from 'solid-js'
19+
import {
20+
createComponent,
21+
createContext,
22+
splitProps,
23+
useContext,
24+
} from 'solid-js'
2325
import type { FieldComponent } from './createField'
26+
import type { AppFieldExtendedSolidFieldGroupApi } from './createFieldGroup'
27+
import { createFieldGroup } from './createFieldGroup'
2428
import type { SolidFormExtendedApi } from './createForm'
25-
import { Dynamic } from 'solid-js/web'
29+
import { createForm } from './createForm'
2630

2731
/**
2832
* TypeScript inferencing is weird.
@@ -358,13 +362,13 @@ export function createFormHook<
358362
<form.Field {...fieldProps}>
359363
{(field) => (
360364
<opts.fieldContext.Provider value={field}>
361-
<Dynamic
362-
component={() =>
365+
{createComponent(
366+
() =>
363367
childProps.children(
364368
Object.assign(field, opts.fieldComponents),
365-
)
366-
}
367-
/>
369+
),
370+
{},
371+
)}
368372
</opts.fieldContext.Provider>
369373
)}
370374
</form.Field>

0 commit comments

Comments
 (0)