我是 React 新手,正在阅读 React 网站上的教程。在分步教程中,有一节解释了您不应该依赖 state 的值来计算下一个 state,因为 state 更新是异步的。相反,他们解释说,您应该使用一个版本的 setState,它接受一个函数,将前一个状态作为参数传递给该函数。
但是,在实践教程中,出现了以下代码:
handleClick(i) {
const squares = this.state.squares.slice();
squares[i] = this.state.xIsNext ? 'X' : 'O';
this.setState({
squares: squares,
xIsNext: !this.state.xIsNext,
});
}
其中 setState 调用传递了一个对象,该对象依赖于 this.state 中的值。为什么这段代码没问题,为什么在这种情况下不必担心异步 setState 执行?我试图了解何时可以直接依赖我的 React 代码中 this.state 的值。
提前致谢!