在循环中更新状态的最佳方法是什么

时间:2020-04-05 06:47:55

标签: reactjs react-hooks

由于setState异步工作,因此它不会立即更新状态。如何在循环内更新状态变量。

该功能是验证多个字段并存储该字段值是否对特定行索引有效。但是,由于状态更改不会立即反映出来,因此我没有收到所需的输出。

请提出处理此问题的最佳方法。

2 个答案:

答案 0 :(得分:0)

使用ref(s)存储数据并最后更新状态可以解决此问题。

答案 1 :(得分:-1)

您是对的。setState是异步工作的。因此,除了在代码块的末尾之外,在循环内或任何地方多次调用它是没有意义的。也不是最佳实践。

因此,您可以做的是,在循环之前定义此状态变量的副本。对循环中的此变量执行任何您想做的事情。最后,您只可以使用此更新的变量一次更新状态。

这样,您不必多次使用setState,也可以从哑变量中获得循环内的更新状态。

相关问题