由于setState异步工作,因此它不会立即更新状态。如何在循环内更新状态变量。
该功能是验证多个字段并存储该字段值是否对特定行索引有效。但是,由于状态更改不会立即反映出来,因此我没有收到所需的输出。
请提出处理此问题的最佳方法。
答案 0 :(得分:0)
使用ref(s)存储数据并最后更新状态可以解决此问题。
答案 1 :(得分:-1)
您是对的。setState
是异步工作的。因此,除了在代码块的末尾之外,在循环内或任何地方多次调用它是没有意义的。也不是最佳实践。
因此,您可以做的是,在循环之前定义此状态变量的副本。对循环中的此变量执行任何您想做的事情。最后,您只可以使用此更新的变量一次更新状态。
这样,您不必多次使用setState
,也可以从哑变量中获得循环内的更新状态。