0

在未触发 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)
4

0 回答 0