我正在创建一个允许用户自己注册的应用程序。
使用 react-native 和 firebase 工作,注册并登录。甚至附加数据也存储在实时数据库中(我检查过)。
但是我收到一条消息说“创建用户失败”(这是我设置的消息之一)。
这是我用来创建用户并向实时数据库添加额外数据的代码:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then((user) => {
firebase.database().ref('users/' + user.uid).set({
firstName: firstName,
lastName: lastName,
email: email,
code: code
})
})
.then(user => loginUserSuccess(dispatch, user))
.catch((error) => {
createUserFail(dispatch)
console.log(error);
});
我还检查了android studio中的调试器(还不知道ios),看到如下评论:
TypeError: undefined is not an object (evaluating 'user.uid')
仍然保存了所有内容,但显示了错误消息。我做错了什么?
Best Answer-推荐答案 strong>
我知道这已经有一年了,但我遇到了同样的问题,对于遇到同样问题的人来说,这里有一个更直接的解决方案。创建用户时,用户对象是 Firebase 响应的一部分,而不是响应本身。因此,只需将“res”添加到您的原始代码中,如下所示:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then((res) => {
firebase.database().ref('users/' + res.user.uid).set({
firstName: firstName,
lastName: lastName,
email: email,
code: code
})
})
关于android - react 原生 firebase 创建用户,然后将其他数据添加到实时数据库,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/47303612/
|