之前在哪看过关于setState的更新逻辑,大概内容就是当前state的setState重复多次执行的时候,会对比该state的更新数据从而将多次的state整合成单次的state,相同的情况只执行一次,不同的情况则以最新的一次setState为主
而对上一次preState进行更新的情况,因为每一次更新的state对象都不一样,所以可以多次执行
不知道上面的描述是否正确
下面的代码则只会执行this.state.count + 3
this.setState({ count: this.state.count + 1 }, () => {
console.log(this.state.count)
})
this.setState({ count: this.state.count + 2 }, () => {
console.log(this.state.count)
})
this.setState({ count: this.state.count + 3 }, () => {
console.log(this.state.count)
})
React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能
了解课程