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)