Error - ReferenceError: No se puede acceder a 'auth' antes de la inicialización

0

Pregunta

así que estoy siguiendo este tutorial en línea sobre cómo construir un WhatsApp construir y me encontré con este problema.

 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;

Este es mi firebase.js, he quitado el de mi apiKey porque estoy compartiendo mi código pero que no creo que eso sea el 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

Si usted está usando Firebase 9.6.0, intente actualizar sus importaciones a v9 compat. Esta recomendación viene de la base avanzada de documentación.

Así, las importaciones tendría este aspecto:

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

Yo estoy usando la base avanzada v9 código modular como en la base avanzada de Documentación
Firebase Versión: 9.6.1
Este código funcionó bien para mí. Pero el inconveniente que encontramos fue v9 funciones modulares no reaccionar-firebase-ganchos.(No se admite hasta ahora, supongo)
Mi caso de uso: para next.js proyecto con base avanzada.

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

En otros idiomas

Esta página está en otros idiomas

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