问题描述
setState的回调函数中再次setState,第二个setState回调函数中无法及时获取更改后的值
复现步骤
- state 中定义两个变量{page: 1, num: 1}
- 点击触发更改num值的方法
3.在setState回调方法中更改page值为2
- 此时回调函数中page值仍然为1,没有被改变
state = {
num: 1,
page: 1
}
this.setState({num: 1},()=> {
this.setState({page: 2}, ()=> {
// 此时page值没被改变,返回结果为1
console.log(this.state.page)
})
})
期望行为
返回正常更改后的值
系统信息
👽 Taro v2.0.4
Taro CLI 2.0.4 environment info:
System:
OS: macOS High Sierra 10.13.6
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.13.0 - /usr/local/bin/node
Yarn: 1.10.1 - /usr/local/bin/yarn
npm: 6.12.0 - /usr/local/bin/npm