You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:09:28