setState未完成

时间:2016-03-03 18:56:44

标签: reactjs setstate

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)

0 个答案:

没有答案