React Native Firebase 在创建帐户后写入用户数据



我目前正在使用 Firebase 和 React Native,我遇到了一个小问题。

阅读以下文档:createUserWithEmailAndPassword

成功创建用户帐户后,此用户也将登录到您的应用程序。

我试图按照以下方式使用承诺:

firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
.then(function(authData){
    this.writeUserData(authData.uid);
}).catch(function(error){
    console.warn(error)
});

而我的writeUserData()方法:

writeUserData(the_uid) {
    console.warn("Writting data ")
    var today = new Date();
    firebase.database().ref('users/' + authData.uid + '/').set({
        name: this.state.name,
        birthday: this.state.date,
        email: this.state.email,
        registered: today
    });
}

但是,在函数中,console.warn永远不会触发,因此不会触发事件,因为用户会自动登录。

问题:由于用户会立即登录,因此不会执行.then

目标:能够在用户创建后添加用户信息(姓名、生日等(,然后再登录。

好的理解你,问题似乎是你如何在.then语句中定义一个函数。你应该使用箭头函数,就像这样 -

firebase.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
    .then((authData) => {
        this.writeUserData(authData.uid);
    }).catch(function(error){
        console.warn(error)
    });

我所理解的是,您正在尝试将(姓名,生日等(推送到Firebase,好吧,根据我使用Firebase的少量经验,您必须首先调用{firebase.database((.ref((.child('your path'(}来创建路径,然后使用push((,例如:

{ var ref = firebaseRef.database((.ref((.child('Clients'(; var ref = ref.push(this.state.username(;}

好吧,我是新手,但这对我有用,希望对您有所帮助

相关内容

  • 没有找到相关文章

最新更新