0

我在 setState 下方调用 console.log,但它显示我的空白数组,即使状态已更改。

let text = reminderText;
let data = [...this.state.reminderText]
data.push(text);
this.setState({reminderText:data})
console.log(this.state.reminderText);
4

1 回答 1

1

注意setState()异步的。这意味着,当您的控制台日志被执行时,状态还没有更新。

如果要打印更新后的状态,请使用回调函数,如下所示。

this.setState(
    {reminderText:data},
    () => console.log(this.state.reminderText)
)

React 将在异步状态更新完成后立即调用回调函数。

于 2018-01-26T15:52:15.807 回答