Estoy tratando de recibir los datos de un archivo cargado desde firebase firestore y guardarlo en una matriz
pero me arroja un "FirebaseError no capturado (en promesa): tipo esperado 'Pa', pero era: un objeto Va personalizado"
Gracias por la ayuda
import { useState, useEffect } from "react"; import { projectFirestore } from "../firebase/config"; import { collection as col, onSnapshot, query, orderBy } from "firebase/firestore"; const useFirestore = (collection) => { const [docs, setDocs] = useState([]); useEffect (() => { //new collection reference const newcoll = (col(projectFirestore, collection)) const q = query(newcoll, orderBy('createdAt', 'desc')); const unsub = onSnapshot(q, (snapshot) => { let documents = []; snapshot.forEach(doc => { documents.push({...doc.data(), id: doc.id}) }) setDocs(documents); }); return () => newcoll(); },[collection]);Haría algunos cambios en el código para que sea:
useEffect (() => { if(collection) { const newcoll = col(projectFirestore, collection); const q = query(newcoll, orderBy('createdAt', 'desc')); const unsub = onSnapshot(q, (snapshot) => { let documents = []; snapshot.forEach(doc => { documents.push({...doc.data(), id: doc.id}) }) setDocs(documents); }); return unsub; } },[collection]);Los cambios incluyen:
unsub en lugar de () => newcoll()collection tiene un valor veraz