在componentWillMount中去setState,然后打印出来发现state没有改变
比如
componentWillMount(){
const height = window.innerHeight;
this.setState({
height: height
})
console.log(this.state.height)
}
后台结果显示height还是原来的值,因为setState是异步的,他会在render后才生效,
想要打印出setState之后的值 需要在setState方法中加入一个回调函数,比如
componentWillMount(){
const height = window.innerHeight;
this.setState({
height: height
},()=>console.log(this.state.height))
}
这样打印出来的就是最开始定义的height值了
网友评论