我使用setState来更新程序中的2个状态。我的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
})
})
}
答案 0 :(得分:0)
您是否绑定了fetchUserProfile函数?
如果不只是改变:
fetchUserProfile(){
至fetchUserProfile = () => {