我想这是因为 JS 是如何工作的,但我想你的类不会有这个问题。在这段代码中:
let [open, setOpen] = React.useState(false);
let [counter, setCounter] = React.useState(0);
function handleClick() {
setOpen(true);
setInterval(() => {
console.log(counter);
setCounter(counter + 1);
}, 2000);
}
如果我调用 handleClick一次(例如单击按钮),则登录到控制台的值始终为 0(尽管每次都更新状态)。
这可能是因为关闭。但是,如果我想counter在这种设置中查看 的最新值怎么办?使用您可以完成的课程this.state.counter,它会读取最新值。是否有一些使用钩子的解决方法?
演示.
注意:我发现这个问题基本上是一样的。不知何故,我在最初的搜索中没有遇到它。