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是同步。