taroJs 修改元件的資料(state)
阿新 • • 發佈:2022-05-09
修改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
}