在Firebase中为用户提供初始属性的正确方法[with react]

时间:2017-10-15 17:30:16

标签: javascript reactjs firebase

我想构建一个用户可以使用Github登录的应用程序(截至目前,可能还有Facebook,Google +)。

我想知道如何在用户首次登录时获得初始属性,将来会进行修改吗?

在我的App组件中,我有一个onAuthStateChanged函数,它会将用户信息推送到数据库中,但问题是(显然)每次都会执行此操作:

    firebaseAuth.onAuthStateChanged((user) => {
        if (user) {
            this.setState({
                user
            });

            usersRef.push({
                id: user.uid,
                displayName: user.displayName,
                coins: 3000
            });
        } else {
            this.setState({
                user: undefined
            });
        }
    });

有没有办法可以检查用户之前是否登录过?有没有更好的方法来实现我想要的目标?

1 个答案:

答案 0 :(得分:0)

也许您可以使用https://firebase.google.com/docs/functions/auth-events中记录的Firebase身份验证触发器。

您可以设置一个在创建用户后立即在Firebase服务器上运行一次的触发器;该触发器可以为用户更新数据库中的数据,其中可能包括默认某些值。然后,您的React应用程序将能够在需要时读取该数据。