【问题标题】:ReactJS: setState value not updating [duplicate]ReactJS:setState值不更新[重复]
【发布时间】:2018-08-02 12:15:30
【问题描述】:

我正在尝试从方法中更新状态值。当我.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);
}

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

【问题讨论】:

  • 阅读此stackoverflow.com/questions/36085726/…。 setState 是异步的
  • @BoyWithSilverWings .@stack26 链接应该可以工作。 +1
  • 所有链接都没有帮助,因此它不是重复的。尽管有你的建议,我仍然得到一个未定义的结果。
  • 如果这不再是重复的,那么您需要解释为什么它不同

标签: reactjs components state


【解决方案1】:
this.setState({
  isOpen: !this.state.isOpen,
  dataType: 'user',
  user: userData
},()=>{console.log(this.state.user)});

【讨论】:

  • 这有帮助。谢谢!在组件中使用道具时出现未定义。
猜你喜欢
  • 2020-11-18
  • 1970-01-01
  • 2016-10-18
  • 2013-08-30
  • 2022-01-18
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 2017-04-22
相关资源
最近更新 更多