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
}