React组件中函数内部无法获取最新formState.isSubmitted值的问题咨询
React组件中函数内部无法获取最新formState.isSubmitted值的问题咨询
大家好,我现在遇到一个React的问题,想请教一下:
我在React组件里把一个函数作为props传给子组件,组件里通过useHookFormContext拿到了formState,其中isSubmitted用来标记表单是否提交过。奇怪的是,函数外部能正确获取这个状态的最新值,但函数内部打印出来的总是旧值,实在搞不懂原因。
下面是我的代码片段:
const NestedComponent = () => { const { registerState, formState } = useHookFormContext(); console.log(formState.isSubmitted, "outside"); return ( <> <CustomApi key={"abc"} options={[]} onChange={() => { console.log(formState.isSubmitted, "inside"); console.log("sss"); }} /> </> ); };
复现步骤:
- 运行应用,控制台打印
false,这是正确的 - 点击提交按钮,控制台打印
true,这也是正确的 - 现在修改下拉框的值,控制台打印的却是
false,这明显不符合预期
我怀疑是不是闭包的问题?有没有大佬能帮我分析一下原因,以及怎么解决这个问题呀?
备注:内容来源于stack exchange,提问作者user5711656
相关产品推荐
相关产品推荐

