首页 > 解决方案 > firebase snapshot.val() 返回 null

问题描述

我试图从 Firebase 数据库中获取用户信息,但它总是返回 null。

export const employeesFetch = () => { const { currentUser } = firebase.auth();

return (dispatch) => {
    firebase.database().ref(`/users/${currentUser.uid}/employees`)
        .on('value', snapshot => {

            console.log("snapshot: ", snapshot.val()) // null
            dispatch({ type: EMPLOYEE_FETCH_SUCCESS, payload: snapshot.val() });
        });
};

};

标签: firebasereact-native

解决方案


如果您对对象数组使用数字 ID,那么它将用空值填充缺失的项目。例如,如果您没有元素0,那么您的第一项将为空。

{
  "myList" : [ null, null, {
    "myProp" : "thing",
    "created" : 1582242432,
  }, {
    "myProp" : "another",
    "created" : 1582242555,
  }
}

为什么 firebase 集合似乎以空行开头?


推荐阅读