簡體   English   中英

使用React的Firebase onAuthStateChanged錯誤

[英]Firebase onAuthStateChanged error with React

我正在嘗試使用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看起來像那些即將到來並有同樣的問題**

你需要包含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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM