¡Estaba tratando de obtener datos de mi base de datos firebase firestore! Tuve que anidar forEach para obtener los usuarios y el segundo para obtener las publicaciones de cada usuario. ¿Pero el problema es que las publicaciones se muestran en mi pantalla durante 1 segundo y luego desaparecen sin motivo? ¡Creo que es ese regreso! ¿Está regresando antes de que termine el foreach, tal vez? pero si ese es el caso, debería REgresar cuando haya terminado, si registro las publicaciones en la consola después de setPosts, me muestra la matriz de las publicaciones, pero si registro la resolución (return) en la consola, ¡me muestra una matriz vacía! alguna solucion a eso?
const [posts, setPosts] = useState([]); useEffect(() => { const fetchPosts = async () => { let POSTS = []; const docRef = collection(db, "users"); const snapshot = await getDocs(docRef); snapshot.forEach(async (doc) => { let docRefTwo = collection(db, "users", doc.id, "posts"); let snapshotTwo = await getDocs(docRefTwo); snapshotTwo.forEach((post) => { POSTS.push({ postId: post.id, ...post.data() }); }); }); return POSTS; }; fetchPosts().then((res) => { setPosts(res); }); }, []);