Estoy tratando de conectar firebase con una aplicación de reacción, pero obtengo el Uncaught TypeError: app.auth is not a function cuando intento crear una variable de autenticación export const auth = app.auth()
Este es el código:
import firebase from 'firebase/compat/app'; import 'firebase/auth'; const app = firebase.initializeApp({ apiKey: process.env.REACT_APP_FIREBASE_API_KEY, authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN, projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID, storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID, appId: process.env.REACT_APP_FIREBASE_APP_ID }) export const auth = app.auth() export default app;Usa getAuth en lugar de app.auth :
import firebase from 'firebase/compat/app'; import {getAuth} from 'firebase/auth'; const app = firebase.initializeApp({ ... }) export const auth = getAuth() export default app;Si desea utilizar la sintaxis de espacio de nombres, también debe importar la versión compat del SDK de Firebase Auth.
import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; // <-- add /compat/Las bibliotecas de
compatson una solución temporal que se eliminará por completo en una futura versión importante del SDK (como la versión 10 o la versión 11). Su objetivo final es eliminar el código decompaty mantener solo el código de estilo modular de la versión 9 en su aplicación.
Consulte la documentación para obtener más información.