4 回答
TA贡献1829条经验 获得超4个赞
console.log(this.state.boardAddModalShow)
openAddBoardModal(){
this.setState({ boardAddModalShow: true }, function () {
console.log(this.state.boardAddModalShow);
});}setState
setState()不会立即变异 this.state但是创建一个挂起的状态转换。存取 this.state调用此方法后,可能会返回现有值。不能保证同步运行对setState的调用,调用可以批处理以获得性能增益。
他们为什么要做setState异步
这是因为setState改变了状态并导致重命名。这可能是一项昂贵的操作,使其同步可能会使浏览器无法响应。
因此,setState调用是异步的,并且是批处理的,以获得更好的UI体验和性能。
TA贡献1785条经验 获得超8个赞
openAddBoardModal(){
this.setState({ boardAddModalShow: true }, () => {
console.log(this.state.boardAddModalShow)
});}TA贡献1853条经验 获得超18个赞
setState()setState()componentDidUpdatesetStatesetState(updater, callback)
setState()shouldComponentUpdate()shouldComponentUpdate()setState()
(state, props) => stateChange
state
this.setState((state, props) => {
return {counter: state.counter + props.step};});添加回答
举报
