【发布时间】:2020-08-19 09:41:35
【问题描述】:
我正面临与setState 相关的奇怪错误。我知道它是异步的,因此我在setState的callback函数中添加了console.log(this.state),但是状态保持不变,并且没有任何变化反映在app上。这是代码:
if (response && response.data && response.data.data) {
if (this._isMounted) {
const arrangedSenderEmailAddresses = arrangeEmailAddresses(response.data.data);
console.log('update data: ', arrangedSenderEmailAddresses);
this.setState({ emailAddresses: arrangedSenderEmailAddresses }, () => {
console.log('state after update: ', this.state.emailAddresses);
});
}
}
response 是从后端检索的对象。
console.log('update data: ', arrangedSenderEmailAddresses) 显示应该在状态上设置的新数据,但在回调中:
console.log('state after update: ', this.state.emailAddresses); 显示旧状态。
有人遇到过这样的bug吗?
【问题讨论】:
标签: reactjs debugging callback updates setstate