uda*_*rts 3 android ios react-native firebase-realtime-database
我正在创建一个允许用户自行注册的应用程序。
使用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);
});
Run Code Online (Sandbox Code Playgroud)
我还检查了android studio中的调试器(还不知道ios)并看到以下评论:
TypeError: undefined is not an object (evaluating 'user.uid')
Run Code Online (Sandbox Code Playgroud)
一切仍然保存,但显示错误消息。我究竟做错了什么?
我知道这已经有一年了,但我遇到了同样的问题,对于遇到同样问题的人来说,这里有一个更直接的解决方案。当您创建用户时,用户对象是 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
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7907 次 |
| 最近记录: |