【问题标题】:React updating state does not change render反应更新状态不会改变渲染
【发布时间】:2023-01-04 15:23:12
【问题描述】:

我有一个我想跟踪的状态值,声明如下:

const [found, setFound] = useState(0);

一个简单的增量:

  const incrementFound = () => {
    setFound(found + 1);
  }

我在循环中调用此函数,因为我的代码通过数组运行,如下所示:

values.forEach((item) => {
    doSomething([item]).then(() => {
        console.log("Removed " + item);
        increment();
    });
});

在返回中,我将这个值渲染成这样:

<p>Found {found} item(s).</p>

但是,即使我的代码处理了多个元素,这个值也只会递增一次。

为什么会这样?

【问题讨论】:

    标签: javascript reactjs typescript


    【解决方案1】:

    整个循环在 React 更新状态之前执行。

    【讨论】:

      猜你喜欢
      • 2019-11-19
      • 2015-11-03
      • 2019-03-07
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 2019-04-03
      • 1970-01-01
      相关资源
      最近更新 更多