Firebase onAuthStateChanged错误与React

时间:2019-05-30 06:39:23

标签: javascript reactjs firebase firebase-authentication

我正在尝试使用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对于即将来临并遇到相同问题的人的样子**

1 个答案:

答案 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;