React里setState获取最新的state数据

  • Post author:
  • Post category:其他




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 版权协议,转载请附上原文出处链接和本声明。