Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

325
Vistas
React Native: firestore/firebase Se esperaba que el primer argumento de collection() fuera una CollectionReference... ¿cómo?

Así que tengo una aplicación React Native simple que creé usando Expo y depuré en mi dispositivo Android personal.

Incluí firebase/firestore en mi aplicación y ahora estoy tratando de agregar un objeto a firestore al hacer clic en el botón.

Aquí está mi código:

firebaseConfig.js:

 import { initializeApp } from '@firebase/app'; var config = { ... } const app = initializeApp(config); export default app;

Componente:

importar {aplicación} desde '../firebaseConfig'; importar { getFirestore } desde 'firebase/firestore/lite'; import { doc, setDoc, colección, consulta, donde, getDocs, initializeFirestore } desde "firebase/firestore"; ...

exportar función predeterminada Componente () { const firestoreDb = getFirestore (aplicación);

 // this function is called when clicking a button const onAddListPress = () => { setDoc(doc(firestoreDb, "cities", "LA"), { name: "Los Angeles", state: "CA", country: "USA" }); }

}

Esto arroja el siguiente error:

 Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore

Este código anterior (en onPress) se copia de los documentos oficiales de firestore, aquí: https://firebase.google.com/docs/firestore/manage-data/add-data#set_a_document

¿Alguien tiene una idea de por qué esto no funciona?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Le sugiero que edite su publicación y elimine las claves de configuración de firebaseConfig , o elimine su aplicación de Firebase y cree una nueva desde la consola de Firebase para proteger su aplicación. Traté de replicar su aplicación usando React y recibí el mismo mensaje de error. Hubo dos cambios que hice para corregir el error. El primero está dentro del firebaseConfig file , la exportación predeterminada debe cambiarse a una exportación con nombre:

 import { initializeApp } from "firebase/app" const firebaseConfig = { //Project configuration keys }; const app = initializeApp(firebaseConfig); export { app }; // Change from a default to a named export

Además, todas las importaciones dentro de su componente deben provenir del SDK de Javascript completo, no de la versión lite. La versión lite tiene algunas limitaciones que pueden resultar en este error específico .

 import { app } from "./firestore-config"; import { getFirestore, getDoc, doc } from "firebase/firestore"; import './App.css'; export default function App() { const firestoreDB = getFirestore(app); const docRef = doc(firestoreDB, "users", "testUser1"); const getData = async () => { const data = await getDoc(docRef); console.log(data); } getData(); return <div className="App"></div>; }

También es posible que desee revisar este problema de GitHub si está utilizando yarn para administrar sus dependencias.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda