Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Reactjs 对FieldArray中的Formik字段使用自定义输入时,输入失去焦点_Reactjs_React Hooks_Formik - Fatal编程技术网

Reactjs 对FieldArray中的Formik字段使用自定义输入时,输入失去焦点

Reactjs 对FieldArray中的Formik字段使用自定义输入时,输入失去焦点,reactjs,react-hooks,formik,Reactjs,React Hooks,Formik,我使用自定义输入组件来处理表单数据,并注意到奇怪的行为。只有在使用带有自定义输入组件的FieldArray时,输入才会在键入时失去焦点 以下是表单设置: <Formik enableReinitialize initialValues={{ ...getInitialState() }} onSubmit={(values, actions) => { save(values, actions) }} validationSchema={schema}

我使用自定义输入组件来处理表单数据,并注意到奇怪的行为。只有在使用带有自定义输入组件的
FieldArray
时,输入才会在键入时失去焦点

以下是表单设置:

<Formik
  enableReinitialize
  initialValues={{ ...getInitialState() }}
  onSubmit={(values, actions) => {
    save(values, actions)
  }}
  validationSchema={schema}
  >
  {({ values, isSubmitting, setFieldValue, dirty }) => (
    ...
    <Images />
    ...
  )}
</Formik>
是否有其他方法可以为FieldArray使用自定义输入?当我不使用FieldArray时,我没有遇到此问题

import { imageState } from "states"
import Input from "form/input"

function Images() {
  ...
  return (
    <div className={styles.wrapper}>
        <FieldArray
          name="images.posters"
          render={({ form, push, remove }) => {
          const images = form.values.images.poster
          return (
            <>
              <button onClick={() => push(imageState)}>Add Poster</button>
              {images.map((image, index) => (
                <div key={index} className={styles.imageGroup}>
                  <Field //using custom input loses focus
                    name={`images.poster.${index}.src`}
                    component={Input} 
                  />
                 <Field //using Formik default component doesn't loose focus
                    name={`images.poster.${index}.src`}
                  />
                 <button onClick={() => remove(index)}>Remove Poster</button>
                </div>
              ))}
            </>
          )}}
      />
    </div>
  )
}