首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查状态对象是否为空

检查状态对象是否为空
EN

Stack Overflow用户
提问于 2018-01-20 06:50:30
回答 5查看 92.2K关注 0票数 17

我有一个react状态对象,如果对象是空的,我希望执行一些代码。我的逻辑有什么问题吗?因为if块中的代码没有被执行。

代码语言:javascript
运行
复制
if (this.state.errors == null) {
  this.props.updateUser(user);
  this.props.navigation.goBack();
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-01-20 06:53:25

考虑到this.state.errors是一个对象,您可以这样做,

代码语言:javascript
运行
复制
//when this.state.errors object is empty 
if (Object.keys(this.state.errors).length == 0) {
  this.props.updateUser(user);
  this.props.navigation.goBack();
}

Object.keys将从对象this.state.errors返回一个数组或所有键。然后,您可以检查该数组的长度,以确定它是否为空对象。

票数 44
EN

Stack Overflow用户

发布于 2018-01-20 06:55:38

实际上,您需要先检查this.state.errors是否存在,然后再检查对象是否为null

代码语言:javascript
运行
复制
if (this.state.errors && !Object.keys(this.state.errors)) {
    this.props.updateUser(user);
    this.props.navigation.goBack();
}
票数 2
EN

Stack Overflow用户

发布于 2018-01-20 06:54:07

尝试检查状态而不是错误集合:

代码语言:javascript
运行
复制
if (this.state) {
    this.props.updateUser(user);
    this.props.navigation.goBack();
}

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48353471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档