Formik-有没有一种方法可以在Form change上获得新的值对象



我有一个带有onChange处理程序的Formik表单:

<Formik initialValues={values}>
{({ values }) => (
<Form onChange={() => passUpdatedValues(values)}>
// ...
</Form>
)}
</Formik>

values是一个具有多个属性的对象,Form的输入负责每个属性。这个的父组件使用这些值来计算其他内容,我想在每个字段更改时将整个更新的值传递到那里。。使用当前的方法,它显然会传递一个过时的值(onChange事件触发之前的值(。

我可以手动创建一个要传递的对象,采用e.target.value,但这有点混乱,代码库增长了很多,尤其是当表单中有很多字段时。

我的问题是,在onChange事件之后,是否有一种简单的方法可以从该处理程序获得更新的values

这是我迄今为止找到的解决方案,看起来Formik中没有任何updatedValues道具。

<Form
onChange={e => {
values[e.target.name] = e.target.value
passUpdatedValues(values)
}}
>

最新更新