this.setState是异步的,所以在this.setState之后不能立刻得到最新的state数据
关于如何获取最新的数据,有如下三种方法
1.回调函数
this.setState({
xxx:'xxx',
}, () => {
console.log(this.state.xxx) });
2.利用组件生命周期函数componentDidUpdate
3.利用setTimeout 延迟为0
当setTimeout 延迟为0时
componentDidMount () {
console.log('a');
setTimeout(function(){ console.log('b'); },0); console.log('c'); console.log('d'); }