获取javascript时出现未定义错误(React Native)

获取javascript时出现未定义错误(React Native),javascript,react-native,undefined,Javascript,React Native,Undefined,我在数据库中存储特定的键值。但是,在获取键值时,获取未定义的错误 await DbHandler.fetch(codeStatus) .then((result) => { const codeEnabledObj = result[0]; console.log('codeEnabledObj', codeEnabledObj); let codeEnabled = false; if (codeEnabledObj && codeEn

我在数据库中存储特定的键值。但是,在获取键值时,获取未定义的错误

await DbHandler.fetch(codeStatus)
  .then((result) => {
    const codeEnabledObj = result[0];
    console.log('codeEnabledObj', codeEnabledObj);
    let codeEnabled = false;
    if (codeEnabledObj && codeEnabledObj.length > 0) { // this code not executing at all.
      codeEnabled = codeEnabledObj[0].isEnabled;
    }
    console.log('codeEnabled', codeEnabled); // getting false always
    console.log('codeEnabledObj.length[0]', codeEnabledObj.length); // undefined

  })
  .catch((error) => {

  });
问题是,它不会进入if条件内部并抛出像undefined这样的错误

但是,如果我们打印来自db fetch的响应

'codeEnabledObj', { type: 'codeStatus', isEnabled: true } // This is my response

有什么建议吗?

对象不像数组那样具有长度属性

codenabledobj.length
错误

用这个,

 Object.keys(codeEnabledObj).length 
编辑


codenabledbj[0]。isEnabled
应仅为
codenabledbj。isEnabled
codenabledbj
中没有属性长度,而且它不是数组。。因此,修改条件将起作用,其中isEmpty可以是从中使用的函数 节点包为
下划线

if (isEmpty(codeEnabledObj)) { // ... } 


谢谢。

此登录代码在哪里
'codenabledobj.length[0]',未定义
首先,什么是
codenabledobj.length[0]
?我想那是打字错误。您确定您的响应是数组吗?codeEnabledObj看起来像您答案中的对象。请检查更新的查询。您的响应不是数组吗?你为什么要检查长度?即使是字典我们也可以检查长度,对吗?我们不能吗?但是,如果我尝试获取codeEnabledObj值,仍然无法获取。
codeEnabledObj.isEnabled