ReactJS:setState值不更新[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReactJS:setState值不更新[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我正在尝试从方法中更新状态值。当我.log高于setState时,价值是正确的,但之后我得到了一个undefined。我应该得到userObject。数据是否正确传递给方法,只是不确定为什么没有设置该值?

toggleModal = (user) => {
var userData = {};
if (user === null) {
  userData = {}
} else {
  userData = user
}
this.setState({
  isOpen: !this.state.isOpen,
  dataType: 'user',
  user: userData
});
console.log(this.state.user);
}

当我将值传递给另一个组件时,该值被标记为undefined而不是null或空对象。

答案
this.setState({
  isOpen: !this.state.isOpen,
  dataType: 'user',
  user: userData
},()=>{console.log(this.state.user)});

以上是关于ReactJS:setState值不更新[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ReactJS:仅更新嵌套状态对象中的特定字段[重复]

ReactJs:获取无法读取未定义错误的属性“setState”[重复]

在reactjs中删除重复项后如何从状态值和setstate创建数组

超过最大更新深度。当组件在 componentWillUpdate 中重复调用 setState 时,可能会发生这种情况

ReactJS:警告:setState(...):在现有状态转换期间无法更新

ReactJS setState 更改不会从父组件传播到子组件[重复]