【发布时间】:2021-01-09 08:26:04
【问题描述】:
我正在尝试使用 Formik 中的 ref 让 useEffect 监听表单字段值的变化。但是当我运行时:
const formikRef = useRef(); // this gets passed to Formik's ref prop on component render
React.useEffect(() => {
// do something
}, [formikRef.current.state.values.MyFormFieldName]);
失败并出现以下错误:Cannot read property 'state' of undefined
我使用的是 Formik v1.3,我无法直接访问 Field 组件,因为我使用的是自定义包装组件(作为内部 UI 库的一部分),并且它不会公开所有 Field 道具。
编辑:
我可以做到formikRef.current?.state.values.MyFormFieldName,但是当MyFormFieldName 更改时,这仍然不会导致useEffect 触发。
【问题讨论】: