反应+火力地堡。验证后写入数据库

时间:2016-11-12 15:30:50

标签: reactjs firebase react-native firebase-realtime-database firebase-authentication

我目前正在为我的React Native应用设置Firebase。身份验证&基本的写作/阅读工作很好。 虽然,我很难在初始身份验证后立即将数据写入数据库,因为我的“signUp”和“writeUserData”函数同时执行(此时没有{{1}但是)。

这是我的代码:

userId

我找不到任何关于此的好文档。有人可以给我指针吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

我在Stack Overflow中找到了解决方案。比预期容易得多:How do you include a username when storing email and password using Firebase (BaaS) in an Android app?

编辑:我现在正在使用onAuthStateChanged方法。

  componentDidMount() {
    firebaseApp.auth().onAuthStateChanged(user => {
      if(user) {
        this.writeUserData(user.uid, user.email, this.state.firstName);
      }
    })
  },

  writeUserData(userId, email, firstName) {
    firebase.database().ref('users/' + userId + '/').set({
        info: {
          firstName: firstName,
          email: email,
        },
        currentState: {
          currentDay: 0,
          currentSeries: 0,
        }
    });
  },