Eroare - ReferenceError: nu Pot accesa 'auth' înainte de inițializare

0

Problema

deci, eu sunt în urma acest tutorial on-line pe cum de a construi un WhatsApp construi și am fugit în această problemă.

 import "../styles/globals.css";
    import { useAuthState } from "react-firebase-hooks/auth";
    import { auth, db } from "../firebase";
    
    function MyApp({ Component, pageProps }) {
      const [user] = useAuthState(auth);
    
      if (!user) return <Login />;
    
      return <Component {...pageProps} />;
    }
    
    export default MyApp;

Acest lucru este meu firebase.js am scos mea apiKey pentru că eu sunt de partajare codul meu, dar asta nu cred ca este problema.

import firebase from "firebase/app";

const firebaseConfig = {
  apiKey: "",
  authDomain: "global-chat-80ab3.firebaseapp.com",
  projectId: "global-chat-80ab3",
  storageBucket: "global-chat-80ab3.appspot.com",
  messagingSenderId: "405392556419",
  appId: "1:405392556419:web:562d012b108561b8be76b6",
};

const app = !firebase.apps.length
  ? firebase.initializeApp(firebaseConfig)
  : firebase.app();

const db = app.firestore();
const auth = app.auth();
const provider = new firebase.auth.GoogleAuthProvider();

export { db, auth, provider };
next.js reactjs
2021-11-24 05:19:26
2
0

Dacă utilizați Firebase 9.6.0, încercați actualizarea importurile v9 compat. Această recomandare vine de la Baza de documentare.

Astfel, importurile ar arata astfel:

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore';

const firebaseConfig = {
  apiKey: "",
  authDomain: "global-chat-80ab3.firebaseapp.com",
  projectId: "global-chat-80ab3",
  storageBucket: "global-chat-80ab3.appspot.com",
  messagingSenderId: "405392556419",
  appId: "1:405392556419:web:562d012b108561b8be76b6",
};

const app = !firebase.apps.length
  ? firebase.initializeApp(firebaseConfig)
  : firebase.app();

const db = app.firestore();
const auth = app.auth();
const provider = new firebase.auth.GoogleAuthProvider();

export { db, auth, provider };

2021-12-08 14:58:56
0

Eu sunt, folosind firebase v9 modular cod și în baza Documentației
Firebase Versiune: 9.6.1
Acest cod a lucrat bine pentru mine. Dar dezavantajul m-am confruntat a fost v9 modular funcționalități nu va lucra cu reacționa-firebase-cârlige.(Nu este suportat până acum, cred)
Mi usecase: pentru next.js proiect cu firebase.

import { initializeApp, getApps } from "firebase/app";
import { getFirestore } from "firebase/firestore";
import { getAuth } from "firebase/auth";
import { GoogleAuthProvider } from "firebase/auth";
const firebaseConfig = {
  apiKey: "",
  authDomain: "global-chat-80ab3.firebaseapp.com",
  projectId: "global-chat-80ab3",
  storageBucket: "global-chat-80ab3.appspot.com",
  messagingSenderId: "405392556419",
  appId: "1:405392556419:web:562d012b108561b8be76b6",
};

// Initialize Firebase
const app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps();
const auth = getAuth();
const db = getFirestore();
const provider = new GoogleAuthProvider();

export { db, auth, provider };
2021-12-24 09:19:28

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................