Pre-bound Field Components are not typesafe ? (React) #1240
-
I was trying to follow this guide on "Form Composition". import { createFormHook, createFormHookContexts } from "@tanstack/react-form";
function NumberField({ label }: { label: string }) {
const field = useFieldContext<number>();
return (
<label>
<div>{label}</div>
<input
value={field.state.value}
onChange={(e) => field.handleChange(e.target.valueAsNumber)}
/>
</label>
);
}
const { fieldContext, formContext, useFieldContext } = createFormHookContexts();
const { useAppForm } = createFormHook({
fieldContext,
formContext,
fieldComponents: {
NumberField: NumberField,
},
formComponents: {},
});
export const ExampleForm = () => {
const form = useAppForm({
defaultValues: {
email: "",
},
});
return (
<form.AppForm>
<form.AppField name="email">
{/* Should raise an error since NumberField expect a number and email is a string */}
{(field) => <field.NumberField label="Email" />}
</form.AppField>
</form.AppForm>
);
};
export { useAppForm }; |
Beta Was this translation helpful? Give feedback.
Answered by
crutchcorn
Mar 7, 2025
Replies: 1 comment
-
You can do this actually very easily yourself by adding a
|
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
crutchcorn
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You can do this actually very easily yourself by adding a
value
field that goes unused: