如何在反应中使用更新的状态

nevo_e

这个问题还与在 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 作为结果)

奥利维尔·布瓦塞

您应该将函数传递给setCount

useEffect(() => {
  const interval = setInterval(() => {
    setCount(prevCount => {
      console.log('Count:', prevCount)
      return prevCount + 1;
    });
  }, 3000);
  return () => clearInterval(interval)
}, [])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章