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}>