taroJs 修改组件的数据(state)

修改taro的组件的状态是放在componentDidMount() { }  函数中

eg:

  数据:

  state = {

    text:" luck"

  }

  

  componentDidMount(){

   //错误的修改方式   this.state.text = "xxxxx"

 

   //正确的修改方式

    this.setState({

      text:"rocky"

    })

  }

  注释:this.setState 是异步的,从已下脚本可以看出

  componentDidMount(){

 

    this.setState({

 

      text:"rocky"

 

    })

    console.log(this.state.text);     luck

    //在steState的外部进行打印,打印出来的结果是luck而不是rocky

 

  }

  想要拿到最新的修改的数据,我们可以使用他的回调函数进行获取最新的数据

  componentDidMount(){

    this.setState({ 

      text:"rocky"

    },()=>{

      console.log(this.state.text);     rocky

    })

    //在steState的内部进行使用回调函数打印,打印出来的结果是rocky而不是luck

 

  }

 

posted @ 2022-05-09 10:05  一封未寄出的信  阅读(257)  评论(0编辑  收藏  举报