【发布时间】:2021-11-14 10:25:12
【问题描述】:
这个问题还与在 React 组件中的函数内部使用更新的 Redux 状态有关。 我想知道如何在 React 的某种形式的循环中使用/更新状态。 示例:
useEffect(() => {
const interval = setInterval(() => {
setCount(count + 1)
console.log('Count:', count)
}, 3000);
return () => clearInterval(interval)
}, [])
这将返回控制台:
Count: 0
Count: 0
Count: 0
Count: 0
...
我需要做些什么来避免这种情况? (我想得到 Count: 0, Count: 1, Count: 2 作为结果)
【问题讨论】:
-
显示整个组件。在效果中使用
count是在使用陈旧数据。您还应该使用setCount(curr => curr + 1),以免在更新时意外使用过时数据。 -
好的,但是在这个等待状态更新的问题中,您将如何实现呢? stackoverflow.com/questions/69242831/…@Emile Bergeron
标签: javascript reactjs loops redux state