1 回答
TA贡献1777条经验 获得超3个赞
这是因为该updateProfile()
方法是异步的,不会触发通过 设置的监听器onAuthStateChanged()
。
因此,当onAuthStateChanged()
在创建用户(并登录,因为在创建用户帐户之后,用户也已登录)后立即触发侦听器时, 的值尚未更新displayName
。
当方法返回的承诺updateProfile()
得到解决时,您可能应该更新 Vuex Store 中的状态。
以下几行:
firebase
.auth()
.createUserWithEmailAndPassword(this.user.email, this.user.password)
.then((res) => {
return res.user.updateProfile({
displayName: this.user.username,
});
})
.then(() => {
//Update the Vuex Store here with firebase.auth().currentUser
console.log(firebase.auth().currentUser.displayName);
})
.catch((error) => {
this.error = error.message;
console.log('err', error);
});
添加回答
举报