我想知道是否有人有过从 useCallback
到福米克的 innerRef
道具我没怎么用过这个钩子,所以我还在努力更好地理解它。
目前,我有以下内容,它用于从外部触发formik提交 <Formik>
组件,但我正在努力更新 isSavingDisabled
基于formik的 isValid
状态,因为react REF不会触发 useEffect
当指定为依赖项时(如react文档中所述)。
const MyModal = () => {
const [isSavingDisabled, setSavingDisabled] = useState( false )
const formikRef = useRef()
const doSave = () => {
if ( formikRef.current ) {
formikRef.current.handleSubmit()
}
}
return (
<Modal>
<ModalHeader>My Modal Header</ModalHeader>
<ModalBody>
<Formik innerRef={formikRef} {...formikProps}>
{ /* Form body */ }
</Formik>
</ModalBody>
<ModalFooter>
<Button disabled={isSavingDisabled} onClick={doSave}>
Save
</Button>
</ModalFooter>
</Modal>
)
}
我需要:1)保留对 handleSubmit
所以我可以在外面叫它 <Formik>
组件,但还要2)侦听对 isValid
属性,以便我可以随时禁用“保存”按钮 isValid === false
.
我看到了 useCallback
,可能与 useState
,可以用来代替 useRef
,但我遇到了一个渲染循环。谁能给我指出正确的方向吗?提前谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!