Javascript Firebase返回未定义的字段
当我试图检索我设置到Firebase中的信息时,遇到了一个问题。当我做console.log时,我没有定义年龄和性别 下面是我编写的代码,用于将一些用户信息设置到Firebase中。我使用set方法是因为用户只有一个用户配置文件。我不想让用户添加一个额外的配置文件,如果我使用push方法,就会出现这种情况Javascript Firebase返回未定义的字段,javascript,firebase,react-native,firebase-realtime-database,firebase-authentication,Javascript,Firebase,React Native,Firebase Realtime Database,Firebase Authentication,当我试图检索我设置到Firebase中的信息时,遇到了一个问题。当我做console.log时,我没有定义年龄和性别 下面是我编写的代码,用于将一些用户信息设置到Firebase中。我使用set方法是因为用户只有一个用户配置文件。我不想让用户添加一个额外的配置文件,如果我使用push方法,就会出现这种情况 onTestSubmit(){ const { currentUser } = firebaseApp.auth(); let { gender, age } = this.stat
onTestSubmit(){
const { currentUser } = firebaseApp.auth();
let { gender, age } = this.state;
firebaseApp.database().ref(`/users/${currentUser.uid}/profile`).set({
gender: this.state.gender,
age: this.state.age
})
}
这是从Firebase检索信息的代码
fetchUserProfile(){
const { currentUser } = firebaseApp.auth();
firebaseApp.database().ref(`/users/${currentUser.uid}/profile`).orderByValue()
.on('child_added', snapshot => {
console.log(snapshot.key, snapshot.value);
})
}
Chrome调试器返回未定义的年龄和未定义的性别。我的Firebase数据库的结构如下:
users
3cUWAm052…
profile
age: “32”
gender: “Male”
JYPknwOipdS…
profile
age: “22”
gender: “Female”
要从firebase获取值,必须使用
snapshot.val()
而不是snapshot.value
您是否尝试过snapshot.val()
?谢谢Cherniv!它起作用了。谢谢你的分享!:)