Reactjs 空检查反应

Reactjs 空检查反应,reactjs,react-native,Reactjs,React Native,我现在有一个空检查的大问题,我不明白为什么 下面是问题所在的代码片段: getUser(data).then(result => { console.log(result); console.log(result == null); if (result == null) { console.log("IS NULL"); } else { console.log(NULL); } } 以下是供参考的getUser:

我现在有一个空检查的大问题,我不明白为什么

下面是问题所在的代码片段:

  getUser(data).then(result => {
    console.log(result);
    console.log(result == null);
    if (result == null) {
      console.log("IS NULL");
    } else {
      console.log(NULL);
    }
  }
以下是供参考的
getUser

function getUser(uid) {
  return firebase
    .database()
    .ref(`/users/${uid}`)
    .once("value")
    .then(snapshot => {
      console.log(snapshot);
      if (snapshot === null) return null;
       return snapshot;
    });
}
snapshot
可以是这样的对象:

[16:34:18] Object {
[16:34:18]   "email": "user@example.com",
[16:34:18]   "walletAmount": 0,
[16:34:18] }
null

但是,我的条件没有按照代码段中的预期工作

如果
snapshot
等于前面提到的对象,我有以下输出:

console.log(result == null); // false
但是当快照
为空时,输出仍然是:

console.log(result == null); // false
我尝试了很多东西,比如
Object.propotype.hasOwnProperty.call(结果,“email”)
,但都没有成功

问候,,
托马斯通过打电话设法做到了这一点

if(result.val()&&result.val().email)

我想,因为快照是firebase的一个特殊对象,所以我无法使用hasOwnProperty(可能是因为继承)来解决问题