setState(partialState, callback)
- 第一个参数传函数
onClick(){
this.setState((prevState, props) => ({
count: prevState.count + 1
}));
this.setState((prevState, props) => ({
count: prevState.count + 1
}));
}
- 通过setState将setState放到事件队列中,在setTimeout回调执行时已经完成了原更新组件流程,不会放入dirtyComponent进行异步更新,其结果自然是同步的
onClick(){
setTimeout(() => {
this.setState({
count: prevState.count + 1
});
this.setState({
count: prevState.count + 1
});
}, 0)
}
- 通过setState的回调函数来依次更新
incrementCount(){
this.setState({
count: prevState.count + 1
},() => {
this.setState({
count: prevState.count + 1
});
});
}