1. 程式人生 > 其它 >taroJs 修改元件的資料(state)

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

  }