繁体   English   中英

从firebase进行身份验证后,我想以状态存储名称,电子邮件

[英]After authentication from the firebase i want to store Name, Email in state

我正在使用ReactInWithPopup方法成功验证了在Reactjs和Firebase中的全栈应用程序,之后我希望将凭据存储到本地状态。

我在ComponentDidMount中使用了this.setState,但出现了错误。 我什至使用axios,但失败了。


state = {

    } 

componentWillMount() {
       auth.onAuthStateChanged(function (user) {
            if (user) {
                // User is signed in.
                var displayName = user.displayName;
                console.log(displayName);
                var email = user.email;
                console.log(email);
                var emailVerified = user.emailVerified;
                console.log(emailVerified);
                var photoURL = user.photoURL;
                var isAnonymous = user.isAnonymous;
                var uid = user.uid;
                var providerData = user.providerData;

                this.setState({
                    displayName:this.displayName
                })
               } else {
                window.location = "/signin";
            }
        })
    }

TypeError:this.setState不是一个函数

使用auth.onAuthStateChanged((user) => { (箭头功能)。 this内部箭头功能与普通功能不同。

也不要使用componentWillMount改用componentDidMount的火力认证。 阅读答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM