Javascript Firebase返回未定义的字段

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

当我试图检索我设置到Firebase中的信息时,遇到了一个问题。当我做console.log时,我没有定义年龄和性别

下面是我编写的代码,用于将一些用户信息设置到Firebase中。我使用set方法是因为用户只有一个用户配置文件。我不想让用户添加一个额外的配置文件,如果我使用push方法,就会出现这种情况

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!它起作用了。谢谢你的分享!:)