react js中的状态未更新

问题描述 投票:0回答:3

下面是我的代码段

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

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

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

javascript reactjs react-native
3个回答
0
投票
this.setState({
  isConfirmationDialogOpen: false,
  progress: Progress.Saving
}, (newState) => {
    console.log(newState);
});

this.setState是异步的。您将在回调中获得更新状态。


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

let stateData = { ...this.state };
donot use the same name as state, aslo callback method in setState can be used to perform async activities

0
投票

首先,this.setState是异步的。

setState()的第二个参数是可选的回调函数,将在setState完成并重新呈现组件后执行。

如果您试图访问状态并想要更新的状态,则由于它是异步的,因此您必须在回调函数中“必须”访问它,以确保仅在状态更新后才能访问它。

© www.soinside.com 2019 - 2024. All rights reserved.