React里setState获取最新的state数据
constructor(props) {
super(props);
this.state = {
msg:false
}
}
简单来说就是
this.setState(()=>{return{/在这个里面是拿不到最新的值的}},()=>{/在这里拿最新的值!})
/Setstate有可以有两个参数,第一个参数又有两种方式,第一种方式是对象{}/
setdata(){
this.setState({
msg:!this.state.msg
}
}
/第二种方式是一个方法/
setdata() {
this.setState(() => {
return {
msg: !this.state.msg
}
})
}
/第二种方式也可以这样获取/
this.setState((prevState,props) => {
console.log(prevState,props) //这里拿到的是state旧的值false
return {
msg: prevState.msg
}
/第二种参数 是个方法/
setdata() {
this.setState(() => {
return {
msg: !this.state.msg
}
}, () => {
console.log(this.state.msg)//这里拿到的是最新的值true
})
}
版权声明:本文为weixin_44969815原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。