Ada*_*amG 1 javascript react-native
根据setState文档,回调应在设置新状态后触发.但是,我的代码
console.log(school);
this.setState({ lastSegment: school },console.log(this.state.lastSegment));
Run Code Online (Sandbox Code Playgroud)
打印:
Middle
Grammar
Run Code Online (Sandbox Code Playgroud)
由于school ="Middle",为什么setState回调打印"Grammar"(这是this.state.lastSegment的前一个值)
And*_*Ray 10
这callback是一个作为参数传递给另一个函数的函数,有时也称为anonymous函数,它表示没有名称的函数,因此您正在执行该函数console.log,并将该值作为第二个参数返回setState.你想传递一个函数,而不是结果console.log.
this.setState({ lastSegment: school }, () => {
console.log(this.state.lastSegment);
});
Run Code Online (Sandbox Code Playgroud)
或使用ES5语法:
this.setState({ lastSegment: school }, function() {
console.log(this.state.lastSegment);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |