我在 setState 下方调用 console.log,但它显示我的空白数组,即使状态已更改。
let text = reminderText;
let data = [...this.state.reminderText]
data.push(text);
this.setState({reminderText:data})
console.log(this.state.reminderText);
我在 setState 下方调用 console.log,但它显示我的空白数组,即使状态已更改。
let text = reminderText;
let data = [...this.state.reminderText]
data.push(text);
this.setState({reminderText:data})
console.log(this.state.reminderText);
注意setState()
是异步的。这意味着,当您的控制台日志被执行时,状态还没有更新。
如果要打印更新后的状态,请使用回调函数,如下所示。
this.setState(
{reminderText:data},
() => console.log(this.state.reminderText)
)
React 将在异步状态更新完成后立即调用回调函数。