为什么 React 必须使用 setState 进行状态更新?

Sus*_*ana 9 reactjs

为什么 react 必须使用 setState 更新状态(树协调)。而不是简单地初始化 this.state.color = 'red'; 假设颜色的先前值为“绿色”。

Ron*_*n F 9

这就是 React 的构建方式。

这个概念是你不应该改变状态,像这样:

this.state.color = 'red';
Run Code Online (Sandbox Code Playgroud)

相反,您应该使用 setState:

this.setState({color: 'red'});
Run Code Online (Sandbox Code Playgroud)

这背后的想法是,为了跟踪状态的变化而不是根据变化重新渲染组件,您必须使用 setState,因为在 setState 之后,会触发渲染函数。