react中的setState到底是同步还是异步的

react中的setState本身是异步的,但是我们可以将他变成同步的
1、方法一 将setState放到延时定时器

changeIncrease(){
	setTimeoout(function(){
      this.setState({
         message:"我是阿鑫"    
      })
    },0)
}

2、方法二 使用原生DOM事件监听

componentDidMount(){
        document.getElementById("btn").addEventListener("click",()=>{
               console.log('你好阿鑫')
         })
         console.log(this.state.message)
}

总结:1、setState在组件生命周期中或者事件合成中,setState是异步;
2、在setTimeout或者原生dom事件中,setState是同步。

你可能感兴趣的:(react.js,前端,javascript)