【发布时间】:2019-09-08 10:37:05
【问题描述】:
我试图在状态更新后访问 this.setState 中的 this.state。 我希望将用户信息设置为状态,然后从事实来源希望将该用户数据保存到本地存储中
setUserInfo = userInfo => {
this.setState(
{ username: userInfo.userName, password: userInfo.userPass },
prevState => {
//trying to access this.state but unable to
console.log(prevState);
// or
console.log(this.state.username);
}
);
};
我知道这个代码可以做到,但是第二个 setstate 会在第一个 setState 之后确认运行吗?
setUserInfo = userInfo => {
this.setState({ username: userInfo.userName, password: userInfo.userPass });
this.setState(prevState => {
prevState;
});
};
【问题讨论】:
-
你可以在调用函数中使用 userInfo.userName 而不是 this.state.username
-
这不是违背单一事实来源的目的吗?
-
“无法”是什么意思?请提供可以复制问题的stackoverflow.com/help/mcve。预计
prevState会在回调中更新状态。 第二个 setState 会在第一个 setState 之后确认运行吗? - 会,但您不需要第二个 setState。
标签: reactjs