TypeError:未定义不是对象(正在评估“ data.hasread.userId”)

时间:2018-07-03 11:00:22

标签: react-native

我看过类似的话题,但是我无法弄清楚为什么这个问题仍然在向我展示。 让我解释一下。

在本地反应中,我在列表中显示数据。效果很好,但是当我尝试查找特定数据:data.hasread.userId时,我得到了著名的红色错误屏幕,说:

TypeError: undefined is not an object (evaluating 'data.hasread.userId')

所以在我的代码中,我尝试忽略未定义的数据,只获取未定义的数据。

const dataUserId = typeof data.hasread.userId !== "undefined" && data.hasread.userId;

对于一个数据,我为true(因为它包含userId),但是其他任何内容都显示typeError。 不应该。

知道为什么吗?

顺便说一句,这就是hasread结构的外观(firestore数据):

hasread
    userId -> uid

1 个答案:

答案 0 :(得分:0)

我可能已经找到了解决方案,尽管不确定是否是最好的解决方案,但至少可以奏效。

我更改了:

const dataUserId = typeof data.hasread.userId !== "undefined" && data.hasread.userId;

收件人:

const dataUserId = data.hasread && typeof data.hasread.userId !== "undefined" && data.hasread.userId;

现在错误没有显示