Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Formik-是否有方法在表单更改时获取新值对象?_Formik - Fatal编程技术网

Formik-是否有方法在表单更改时获取新值对象?

Formik-是否有方法在表单更改时获取新值对象?,formik,Formik,我有一个带有onChange处理程序的Formik表单: <Formik initialValues={values}> {({ values }) => ( <Form onChange={() => passUpdatedValues(values)}> // ... </Form> )} </Formik> {({values})=>( passUpdatedValues(值)}> // ...

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

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

{({values})=>(
passUpdatedValues(值)}>
// ...
)}
values
是一个具有多个属性的对象,表单的输入负责每个属性。这一个的父组件使用这些值来计算其他内容,我想在每个字段更改时将所有更新的值传递到上面。 . 使用当前方法,它将传递一个明显过时的值(在触发onChange事件之前的值)

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


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

这是我迄今为止找到的解决方案,看起来在Formik中没有任何更新的值

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