React setState的异步操作

作者 : admin 本文共307个字,预计阅读时间需要1分钟 发布时间: 2024-06-6 共2人阅读

React中,setState是一个异步操作,因此在setState后立即使用setState中的数据并不能保证能获取到最新的数据,因为React可能还没有完成状态更新。
为了确保在setState完成后再执行某个函数并使用setState中的数据,可以使用setState的回调函数。setState接受一个回调函数作为第二个参数,在状态更新完成并且组件重新渲染后,会调用这个回调函数。这样可以确保在回调函数中使用的数据是最新的。

如下:

this.setState({ pmStatus: true }, () => {
    // 需要使用pmStatus值的代码
    console.log(this.state.pmStatus);
});

本站无任何商业行为
个人在线分享 » React setState的异步操作
E-->