我正在尝试使用Firebase检查用户是否已登录我的React网页,但是我不断收到错误TypeError: Cannot read property 'onAuthStateChanged' of undefined
,它链接到的代码行如下:
Login.js:
authListener() {
Fire.auth.onAuthStateChanged((user) => {
if (user) {
this.setState({ user })
} else {
this.setState({ user: null })
}
})}
Fire.js:
import firebase from 'firebase'
const config = {
apiKey: "xxx",
authDomain: "xxx",
databaseURL: "xxx",
projectId: "xxx",
storageBucket: "xxx",
messagingSenderId: "xxx",
appId: "xxx"
};
const Fire = firebase.initializeApp(config);
export default Fire;
**解决了它,上面是我的Fire.js和Login.js对于即将来临并遇到相同问题的人的样子**
答案 0 :(得分:0)
您需要包含Firebase软件包
import firebase from "firebase";
然后使用firebase的 auth()函数
authListener() {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
this.setState({ user })
} else {
this.setState({ user: null })
}
})}
如果您要从另一个文件导入Firebase,请按以下步骤进行配置
import firebase from 'firebase/app';
import 'firebase/auth';
export const init = () => {
let config = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: 'xxxxxxxxxxxxx'
};
firebase.initializeApp(config);
};
export const firebaseAuth = firebase.auth;