我有一个react js state对象,如果该对象为空,我想执行一些代码.我的逻辑是否有问题,因为if块中的代码没有被执行.

if (this.state.errors == null) {
  this.props.updateUser(user);
  this.props.navigation.goBack();
}

推荐答案

考虑到this.state.errors是一个物体,你可以这样做,

//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返回一个数组或所有键.然后可以判断该数组的长度,以确定它是否为空对象.

React-native相关问答推荐

PubNubReact无法工作,因为它已被废弃

如何在使用嵌套的堆栈导航器在选项卡之间导航后弹出到堆栈顶部?

react 本机 TextInput 将其他元素移出屏幕

将值从一个 js 文件传递​​到 react native 中的另一个 js 文件:react native

为什么将字符串写入文件然后将相同的文件作为字符串读取会导致不同的字符串?

如何停止在 textInput React Native 中输入空格?

如何在react-native中淡化视图的边缘?

如何启用 stacktrace react-native run-android 命令?

中彼此相邻对齐(Align) react native

React Native - 如何判断 UI/元素?

错误:安装 react-native-elements 后无法识别字体系列 Material Design 图标?

我可以在 react-native 中使用 reactJS 库吗?

可以react native使用jQuery

React-Native:FlatList onRefresh not called on pull up.

React Native 创建自定义组件/库

SyntaxError:Strict mode does not allow function declarations in a lexically nested statement on a newly created app

设置 react-native 元素时使用特定的包名称

zoom 到指定的标记 react-native-maps

手动调用 React.PropTypes 验证 React native "^0.30.0"

如何在 React-Native 中停止touch 事件传播