如何解决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 举报,一经查实,本站将立刻删除。