微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ReactJs如何从Firebase身份验证用户读取用户数据?

如何解决ReactJs如何从Firebase身份验证用户读取用户数据?

我想显示已保存在Firebase身份验证中的当前(已登录用户电子邮件。我如何找回它?我想将其保存在变量this.state.email下。到目前为止,这是我的代码

import React from 'react'
import fire from './firebase'


class Home extends React.Component{

    constructor(props){
        super(props)
        this.logout = this.logout.bind(this)
        this.state = {
            email: ''
        }
     }
    logout(){
        fire.auth().signOut();
    }
    render(){
        return(
            <div>
                <h1>You are home</h1>
                <button onClick = {this.logout}>Sign Out</button>
                <p>{this.state.email}</p>
            </div>
        );
    }
}
export default Home

解决方法

您可以在authStateChanged侦听器中获取已登录用户的电子邮件。这样。

import firebase from "YOUR_FIREBASE_CONFIG_PATH"; 


componentDidMount = () => {
    firebase.auth().onAuthStateChanged(user => {
        if (user) {
            console.log(user.email).  // this will print the email if user have any
            this.setState({
                email: user.email,});
        }
    });
};

,

componentDidMount 内进行API调用并保存当前用户的详细信息电子邮件

componentDidMount() {
  firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    const { email } = user;
    this.setState({email});
    } 
  });
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。