react setState

setState在正常情况下都是异步的更新数据,这样会导致

onClickHandler(){
    this.setState({count : this.state.count ++; });
    console.log(this.state.count)      
}

 setState 更新了state的数据但是clg的时候展示的是上一次更新的数据,解决方式有:

方式一:回调函数

this.setState({ count: this.state.count++} , () =>{ 相关操作 })

方式二:  

<button onClick = { this.onClickHandler.bind(this) }></button>
setStateAsync(state) { return new Promise( (resolve)=> { this.setState(state , resolve) }) } async onClickHandler(){ await this.setStateAsync({ count: this,state.count++ }); console.log(this.state.count) }

  

原文地址:https://www.cnblogs.com/lskzj/p/12312784.html