所以,我有这个 ReactJS 应用程序,有一个用户数据库,
创建用户的函数是这个
import { ref, firebaseAuth } from './../Components/config'
export function auth (email, pw) {
return firebaseAuth().createUserWithEmailAndPassword(email, pw)
.then(saveUser)
}
export function saveUser (user) {
return ref.child(`users/${user.uid}/info`)
.set({
email: user.email,
uid: user.uid,
number: "" //custom
})
.then(() => user)
}
如您所见,用户由 3 个属性组成,电子邮件、uid 和一个最初为“”的自定义数字属性,
我有一个
changeNumberToNew = (n) =>{
var user = firebase.auth().currentUser;
if (user != null) {
user.updateProfile({
number: n
}).then(() => {
console.log("Number changer");
}).catch((error) => {
console.log(error);
});
} else {
console.log("No user")
}
};
和一个按钮来调用该功能
<button onClick={this.changeNumberToNew(4)}>Click to change number</button>
当我点击按钮时,Promise是解析器,导致执行
console.log("Number changer")
但是当我去查看 firebase 数据库对象时......没有任何变化,即使重新加载并等待仍然没有任何变化