Firebase 无法设置状态变量

Firebase 无法设置状态变量,firebase,react-native,firebase-realtime-database,Firebase,React Native,Firebase Realtime Database,我使用setState更新程序中的两个状态。My console.log能够显示2个更新状态。但是,setState方法不起作用。年龄和性别这两个变量仍然为空,不会在我的jsx中呈现。提前谢谢你的帮助 this.state={ age: '', gender: '' }........ //this.state provided fetchUserProfile(){ const { currentUser } = firebaseApp.auth(); firebaseApp.data

我使用setState更新程序中的两个状态。My console.log能够显示2个更新状态。但是,setState方法不起作用。年龄和性别这两个变量仍然为空,不会在我的jsx中呈现。提前谢谢你的帮助

this.state={ age: '', gender: '' }........ //this.state provided


  fetchUserProfile(){
const { currentUser } = firebaseApp.auth();
firebaseApp.database().ref(`/users/${currentUser.uid}/profile`).orderByValue()
.on('child_added', snapshot => {
    console.log(snapshot.key, snapshot.val()); //successfully shows age and gender on console
    this.setState({
      age: snapshot.val().age,                 //does not update the state of age and gender
      gender: snapshot.val().gender
    })
})

}是否绑定fetchUserProfile函数

如果不只是改变:


fetchUserProfile(){
fetchUserProfile=()=>{

你好,Matt,我试图将绑定函数添加到构造函数中,但它不起作用。我也尝试过fetchUserProfile=()=>但也没有成功。构造函数(){super()this.state={姓名:'',手机:'',电子邮件:'',日期:'',年龄:'',性别:'},this.fetchUserProfile=this.fetchUserProfile.bind(this)}为了测试它是否有效,如果你将setState中的年龄和性别改为喜欢年龄:10,性别:'male'。它有效吗?嗨,马特,当我将setState方法中的年龄和性别改为年龄:10,性别:'male'时,它仍然不起作用。