获取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