Estoy aprendiendo ReactJS y soy principiante.
Estoy tratando de obtener el cambio de datos en tiempo real de firebase firestore.
useEffect(() => { getValues(); }); const q = query(collection(db, "users")); const getValues = onSnapshot(q, (querySnapshot) => { const updateUser = []; querySnapshot.forEach((doc) => { updateUser.push(doc.data()); }); setUsers([...updateUser]); });Gracias por ayudar.
getValues() en realidad cancelará la unsubscribe del oyente. onSnapshot devuelve una función que se puede usar para detener el oyente, que en este caso es getValues . Intenta refactorizar tu código para:
useState(() => { const q = query(collection(db, "users")); onSnapshot(q, (querySnapshot) => { const updateUser = []; querySnapshot.forEach((doc) => { updateUser.push(doc.data()); }); setUsers([...updateUser]); }); }, [])