OGeek|极客世界-中国程序员成长平台

标题: android - react 原生 firebase 创建用户,然后将其他数据添加到实时数据库 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:01
标题: android - react 原生 firebase 创建用户,然后将其他数据添加到实时数据库

我正在创建一个允许用户自己注册的应用程序。

使用 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-推荐答案


我知道这已经有一年了,但我遇到了同样的问题,对于遇到同样问题的人来说,这里有一个更直接的解决方案。创建用户时,用户对象是 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4