我想知道我们setState()在 React 中仅用于更新状态的原因?
为什么我们不能做这个?
this.state.vote = this.state.vote + 1
Run Code Online (Sandbox Code Playgroud)
您需要使用该setState()方法的原因是一个称为可变性的概念。
当 React 组件中的状态更改时,您通常希望它触发组件的重新渲染(以反映这些更改)。setState除非shouldComponentUpdate阻止这种情况,否则使用将始终触发重新渲染。通过像这样在状态对象上设置属性this.state.vote = this.state.vote + 1,您正在改变现有的状态对象。由于 javascript 中对象的工作方式,React 无法轻易判断此对象已更改。
当您使用 React 的setState()方法时,您正在创建一个新版本的状态对象,React 识别该对象并反过来知道它需要重新渲染组件。
这是一个简化的解释,但希望它向您解释了核心概念。
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |