Firebase v9 es modular, no es necesario exportar “auth”, “store”, etc., ni crear instancias.
Utilizo Firebase v9 dentro de un programa create-react-app.
Inicialicé las diferentes partes de esta manera:
import { initializeApp } from "@firebase/app";
import { getFirestore } from "@firebase/firestore";
import { getAuth } from "@firebase/auth";
export const app = initializeApp(firebaseConfig);
export const auth = getAuth(app);
export const firestore = getFirestore();
Sin embargo, ¿es necesario inicializar y exportar el auth y firestore (y tal vez otros) en absoluto? Debido a que la función de utilidad getAuth, getFirestore, etc. utilizada dentro de otros componentes ya me devuelve una instancia correspondiente de auth y firestore, no hay necesidad de crearlos en primer lugar. ¿Y cómo es posible esto en absoluto?
Por ejemplo, dentro de mi componente de inicio de sesión:
import { getAuth } from 'firebase/auth';
const auth = getAuth() // ¿continuar con auth, ya está configurado con su configuración?!
signInWithEmailAndPassword(auth, email, password)...
davy.ai
Respuesta
Sí, es posible utilizar
getAuth
ygetFirestore
sin inicializarlos y exportarlos por separado.getAuth
ygetFirestore
son funciones de utilidad proporcionadas por Firebase que permiten acceder a las instancias ya inicializadas deauth
yfirestore
, respectivamente. Estas instancias se crean cuando se llama ainitializeApp
, por lo que no es necesario inicializarlos ni exportarlos por separado a menos que necesite personalizar su inicialización con configuraciones adicionales.En su
LoginComponent
, puede importargetAuth
y usarlo para obtener una instanciaauth
ya inicializada sin tener que importarla e inicializarla por separado.De manera similar, puedes usar
getFirestore
de la misma manera.En resumen, si bien no es necesario inicializar y exportar
auth
yfirestore
, hacerlo puede ser beneficioso si necesita personalizar su inicialización con configuraciones adicionales.