Estoy aprendiendo a usar la autenticación de base de fuego en una aplicación de reacción y me he encontrado con este problema. Puede alguien ayudarme ?
he instalado firebase con npm. Este es mi archivo firebase.js.
import { initializeApp } from "firebase/app"; import 'firebase/auth' const firebaseConfig = { apiKey: "AIzaSyA_89k1bt6Z2_1lVLb_Vwn5OL9_GgTNQEQ", authDomain: "auth-development-59396.firebaseapp.com", projectId: "auth-development-59396", storageBucket: "auth-development-59396.appspot.com", messagingSenderId: "1003786595756", appId: "1:1003786595756:web:fa93ae00e49a4c04c49e09" }; const app = initializeApp(firebaseConfig); export const auth = app.auth() export default appEste es el archivo de dependencias package.json.
"dependencies": { "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", "@testing-library/user-event": "^12.8.3", "bootstrap": "^5.1.1", "firebase": "^9.0.2", "react": "^17.0.2", "react-bootstrap": "^1.6.3", "react-dom": "^17.0.2", "react-scripts": "4.0.3", "web-vitals": "^1.1.2" }Está usando el nuevo Modular SDK que usa una sintaxis diferente a la versión con espacio de nombres ( v8 ). Prueba esto:
import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth" // New import const app = initializeApp(firebaseConfig); export const auth = getAuth(app) export default appTenga en cuenta que si debe refactorizar todo su código para que funcione con la nueva sintaxis. Recomiendo consultar la documentación para obtener más información sobre la nueva sintaxis. También echa un vistazo a este Firecast .
Si desea utilizar la sintaxis de espacio de nombres V8, puede utilizar las versiones compat :
import firebase from "firebase/compat/app" import "firebase/compat/auth" if (!firebase.apps.length) firebase.initializeApp({...config}) export const auth = firebase.auth() export default app