En la colección de orders
, creé un documento llamado counts
que almacenaría los recuentos del estado de los pedidos:
Luego creé una función para incrementar el estado con "entregado"
Y luego para mostrar esto:
useEffect(async () => { const docRef = doc(db, "orders", "counts"); const docSnap = await getDoc(docRef); if (docSnap.exists()) { console.log("Document data:", docSnap.data()); } else { // doc.data() will be undefined in this case console.log("No such document!"); } }, []);
Sí, supongo que esta es una forma de hacerlo, 'costosa', depende de usted y de cuántas llamadas pueda terminar, ya que sé que Firestore tiene una cantidad limitada de llamadas de documentos gratuitas.
Otra cosa es que no deberías, y repito, no deberías hacer un useEffect asíncrono, la mejor y más correcta manera de ejecutar un código asíncrono dentro de un useEffect sería declararlo dentro y luego ejecutarlo como se muestra a continuación
useEffect(() => { const AsyncExample = async () => { // async code in here } AsyncExample() }, [])