我正在制作一个多步表单,我将这些步骤划分为单独的组件,并将其作为子组件在父formik组件之间传递。像这个
<FormikComponent>
<ChildStepComponent/>
</>
当我更改子组件中的输入值时,是否有方法获取Formik提供的值和错误?
这里有两种方法:
-
您可以在Formik表单的任何子组件中使用
useFormikContext
,这样您就可以访问表单中任何字段的all the values and errors
。 -
对错误使用更好的验证对象(我更喜欢使用Yup库(,它针对子组件中的所有字段。
我推荐第一个,因为您还需要values
对象。下面是这个CodeSandBox中的一个例子。在那里,您可以发现内部对象使用useField
来处理单个字段;提交按钮使用useFormikContext
来检索所有表单值、错误和状态(以及其他有用的东西(。