¿Qué estoy haciendo mal aquí? el tipo de estado de las publicaciones devuelve indefinido
Error:
TypeError: no se pueden leer las propiedades de undefined (leyendo 'mapa')
Obtener subcolección de publicaciones de firestore:
const [posts, setPosts] = useState([]); useEffect(async () => { const querySnapshot = await getDocs( query(collectionGroup(db, "posts"), orderBy("createdAt", "desc")) ); setPosts(querySnapshot.forEach((doc) => doc.data())); }, []);Insertar datos de publicaciones:
<ScrollView> {posts.map((post, i) => ( <Post post={post} key={i} /> ))} </ScrollView>;Directamente no puede hacer que el gancho useEffect sea async . Para eso, debe crear un método async y llamar a ese método en useEffect hook .
Aquí está el código de muestra, que puede ayudarle
const [posts, setPosts] = useState([]); useEffect(() => { const getData = async () => { const querySnapshot = await getDocs( query(collectionGroup(db, "posts"), orderBy("createdAt", "desc")) ); setPosts(querySnapshot.forEach((doc) => doc.data())); }; getData(); }, []); ...