Javascript Formik-TypeError:无法读取属性';类型';未定义的?

Javascript Formik-TypeError:无法读取属性';类型';未定义的?,javascript,reactjs,typeerror,formik,Javascript,Reactjs,Typeerror,Formik,我几乎只是: 不确定我在这里做错了什么?而不是field.onChange使用setFieldValue助手函数 field.onChange(field.name)(Array.from(set))//问题似乎就在这里的某个地方 替换为: form.setFieldValue(field.name,(Array.from(set)) 您的react redux中存在一些操作问题,因此我建议您检查您的操作类型。我认为您的操作类型未定义,这就是为什么它显示undefined and getting

我几乎只是:


不确定我在这里做错了什么?

而不是field.onChange使用setFieldValue助手函数

field.onChange(field.name)(Array.from(set))//问题似乎就在这里的某个地方

替换为:

form.setFieldValue(field.name,(Array.from(set))


您的react redux中存在一些操作问题,因此我建议您检查您的操作类型。我认为您的操作类型未定义,这就是为什么它显示undefined and getting error。

如果有人在产生上述错误的过程中偶然发现基本操作,这可能是因为您没有将
初始值添加到
Formik
组件中

只需添加


这个给我修好了

function Checkbox(props) {
  return (
    <Field name={props.name}>
      {({ field, form }) => (
        <label>
          <input
            {...field}
            type="checkbox"
            checked={field.value.includes(props.value)}
            onChange={() => {
              const set = new Set(field.value);
              if (set.has(props.value)) {
                set.delete(props.value);
              } else {
                set.add(props.value);
              }
              field.onChange(field.name)(Array.from(set)); //the problem seems to lie here somewhere!
              form.setFieldTouched(field.name, true);
            }}
          />
          {props.value}
        </label>
      )}
    </Field>
  );
}

function App() {
  return (
    <Formik
      initialValues={{ roles: [] }}
      onSubmit={values => alert(JSON.stringify(values, null, 2))}
    >
      {formik => (
        <div>
          Clicking checks affects `VALUES` and `ERRORS` but never `TOUCHED`...
          <div>
            <Checkbox name="roles" value="admin" />
            <Checkbox name="roles" value="customer" />
          </div>
          <br />
          VALUES:
          <pre>{JSON.stringify(formik.values, null, 2)}</pre>
          ERRORS:
          <pre>{JSON.stringify(formik.errors, null, 2)}</pre>
          TOUCHED:
          <pre>{JSON.stringify(formik.touched, null, 2)}</pre>
        </div>
      )}
    </Formik>
  );
}
TypeError: Cannot read property 'type' of undefined
(anonymous function)
node_modules/formik/dist/formik.esm.js:659
  656 |   dispatch({
  657 |     type: 'SET_ERRORS',
  658 |     payload: errors
> 659 |   });
  660 | }, []);
  661 | var setValues = useEventCallback(function (values) {
  662 |   dispatch({
<Formik initialValues={{}} onSubmit={handleSubmit}>