在未触发 API 调用 setState 之后。第一个 console.log 语句按预期工作并显示所有正确的数据,但从未触发 setState 的回调并且不会更新状态。我让它像这样坐了10多分钟。
我没有控制台错误。
奇怪的是,当我在应用程序的另一部分工作时,它神奇地又开始工作了,我不知道为什么。我错过了一些明显的东西吗?
componentDidMount() {
this.init()
}
init() {
getDashboard()
.then(function(data) {
console.log(data)
this.setState({
dashboard: data.dashboard,
learning: data.learning,
items: data.items
}, () => {console.log(this.state)})
}.bind(this))
}
编辑:
console.log()
有趣的是,如果我从回调中删除第二个setState()
并简单地将它放在调用它之后setStat()
仍然没有触发。
console.log(this.state)
this.setState({
dashboard: data.dashboard,
learning: data.learning,
items: data.items
})
console.log(this.state)