首页 > 解决方案 > 在循环内更新状态的最佳方法是什么

问题描述

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

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

请建议处理此问题的最佳方法。

标签: reactjsreact-hooks

解决方案


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

所以你可以做的是,在你的循环之前定义这个状态变量的副本。在循环内对这个变量做任何你想做的事情。最后,您可以使用此更新后的变量一次更新您的状态。

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


推荐阅读