react setState

Posted lskzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) }

  

以上是关于react setState的主要内容,如果未能解决你的问题,请参考以下文章

react-native this.setState 导致代码停止运行

React setState 笔试题,下面的代码输出什么?

React - setState(...): 只能更新一个挂载或挂载的组件

React 的 setState 是异步的还是啥?

React自制全家桶React使用ref操作DOM与setState遇到的问题

从零开始实现一个React:异步的setState