首页 > 解决方案 > 状态没有在反应 js 中更新

问题描述

下面是我的代码片段

 this.setState({
  isConfirmationDialogOpen: false,
  progress: Progress.Saving
});

let state = { ...this.state };

但它没有更新状态,有人可以告诉我我做错了什么。

标签: javascriptreactjsreact-native

解决方案


 this.setState({
  isConfirmationDialogOpen: false,
  progress: Progress.Saving
});

let stateData = { ...this.state };

不要使用与状态相同的名称,也setState可以使用回调方法执行异步活动。

更新

如果你不想使用这个回调,这是另一种方式。

const state = {
    isConfirmationDialogOpen: false,
    progress: Progress.Saving
};

this.setState(state);

并使用该state对象,但这并不能保证您拥有最新的状态,即this.state


推荐阅读