React-state与生命周期(4)
引入react官方网的一个例子:
1 | class Clock extends React.Component { |
使用State的原则
- 不要直接修改state,要想监听变化,必须使用setState来修改。
- state值的更新需要对比变化后再更新,因此是异步更新的,所以不应该依赖他们的值来直接更新下一个状态。因此如果需要当前state值来更新之后的state值,可以采用传入回调函数的形式:
1
2
3this.setState((state, props) => ({
counter: state.counter + props.increment
})); - state的更新会被合并,而不是直接覆盖。