Javascript firebase在创建用户时添加用户信息(react.js)
我在问这个问题之前进行了研究,但没有找到答案 我用js做了个表格。当我单击该按钮时,它将创建一个具有createUserWithEmailAndPassword()方法的用户。创建用户没有问题。我想添加额外的信息,如;用户名:“usernameeee”到我的数据库。数据库将如下所示:Javascript firebase在创建用户时添加用户信息(react.js),javascript,reactjs,firebase,firebase-authentication,Javascript,Reactjs,Firebase,Firebase Authentication,我在问这个问题之前进行了研究,但没有找到答案 我用js做了个表格。当我单击该按钮时,它将创建一个具有createUserWithEmailAndPassword()方法的用户。创建用户没有问题。我想添加额外的信息,如;用户名:“usernameeee”到我的数据库。数据库将如下所示: users { userUid1: {name: "Name User 1"} userUid2: {name: "Name User 2"} .... } 当我使用c
users {
userUid1: {name: "Name User 1"}
userUid2: {name: "Name User 2"}
....
}
当我使用createUserWithEmailAndPassword()时,它会创建一个用户并将其登录。但正如您所见,我需要当前用户的id。我知道如何正常获取它,firebase.auth().currenUser。。。但在创建用户时,我无法捕获用户的id。它返回null
export function signUpUser({email, password}) {
return function (dispatch){
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(
() => dispatch({type: USER_SIGNUP_SUCCESS})
)
.then(console.log(firebase.auth().currentUser))
.catch(error => {
dispatch({type: USER_SIGNUP_FAIL, payload: error.message});
});
}
}
当我控制台当前用户时,创建用户已完成,但尚未登录。那么,如何在创建用户时添加信息呢?(不是以其他方式登录后)好的,一天后我找到了答案。我希望这将有助于其他人。正如您所理解的,主要问题是在创建用户之后,在用户登录之前获取用户id 所以孤子是:
export function signUpUser({email, password, username}) {
const db = firebase.database();
return function (dispatch){
firebase.auth().createUserWithEmailAndPassword(email, password)
// here we get user id if creating is successful.
.then(function(user){
dispatch({type: USER_SIGNUP_SUCCESS}); // I dispatched some message.
db.ref(`users/${user.uid}`).set({name: username}); // I added user
console.log('uid:',user.uid)
})
好的,一天后我找到了答案。我希望这将有助于其他人。正如您所理解的,主要问题是在创建用户之后,在用户登录之前获取用户id 所以孤子是:
export function signUpUser({email, password, username}) {
const db = firebase.database();
return function (dispatch){
firebase.auth().createUserWithEmailAndPassword(email, password)
// here we get user id if creating is successful.
.then(function(user){
dispatch({type: USER_SIGNUP_SUCCESS}); // I dispatched some message.
db.ref(`users/${user.uid}`).set({name: username}); // I added user
console.log('uid:',user.uid)
})