区别
- 因为
this.props
和this.state
可能会异步更新,所以不能在setState
中通过传递对象方式来更新状态 - 传递对象
- 批处理,对相同变量进行的多次处理会合并为一个,并以最后一次的处理结果为准
- 传递函数
- 链式调用,React 会把我们更新 state 的函数加入到一个队列里面,然后,按照函数的顺序依次调用。同时,为每个函数传入 state 的前一个状态,这样,就能更合理的来更新我们的 state 了
- 该函数有两个参数
- prevState
- props
举个栗子
1 | class Test extends Component{ |
- 当点击pass in an object时age的结果为1
- 当点击pass in a function时age的结果为2