【发布时间】:2022-01-18 08:16:28
【问题描述】:
将 Reactjs 与打字稿一起使用
我想将 useFormik 钩子传递给组件 props。
这样做的原因是为了减少不必要的行并增加重用。
我当前的代码
...
const formik = useFormik({
initialValues: { userName: ''},
validationSchema,
onSubmit: (values) => {}
})
return (
<Form>
{/* A place to make a component. */}
<Text
id="userName"
fullWidth
label="Name"
defaultValue={formik.values.userName}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.userName && Boolean(formik.errors.userName)}
helperText={formik.touched.userName && formik.errors.userName}
>
{/* A place to make a component. */}
</Form>
)
自定义组件,这是问题的重点。
interface props {
id: string;
formik : what, // How do I deliver the prop here?
}
const TextFieldCustom = ({ id, formik }: props) => {
return (
<Text
id={id}
fullWidth
label={id}
defaultValue={formik.values.userName}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
error={formik.touched.userName && Boolean(formik.errors.userName)}
helperText={formik.touched.userName && formik.errors.userName}
>
);
};
由于您的回答,我的代码完成了。
...
const formik = useFormik({
initialValues: { userName: ''},
validationSchema,
onSubmit: (values) => {}
})
return (
<Form>
{/* A place to make a component. */}
<TextFieldCustom id="username" formik={formik}/>
{/* A place to make a component. */}
</Form>
)
我想要你的好解决方案。
【问题讨论】:
标签: reactjs typescript formik