tengo un problema con mi tabla de usuarios de reacción que no se procesa en el procesamiento inicial en el navegador. userList parece estar atrasado y supongo que se debe a un problema asíncrono con setState(). si alguien tiene alguna sugerencia para modificar esto para que se active, sincronice el estado para que aparezca mi contenido
estoy usando firestore
el código toma un 'currentBizId' de la información de los usuarios actuales, usa ese valor como un parámetro en una referencia de documento en una colección separada, toma ese nuevo documento, mira una matriz de ID de usuario, luego va y toma los documentos y pantallas de usuario de los ID de usuario ellos en una mesa.
Espero que eso tenga sentido, ¡avísame si tienes alguna pregunta!
useEffect(() => { if (currentBizId) { const bizDocRef = doc(firestore, "businesses", currentBizId); let unSubArr: any = []; const unsub = onSnapshot(bizDocRef, (bizDoc: any) => { const adminIds = bizDoc.data()!.admins; const adminData: any = []; unSubArr = adminIds.map((user: any) => { const adminDocRef = doc(firestore, "users", user); return onSnapshot(adminDocRef, (userDoc: any) => { adminData.push(userDoc.data()!); }); }); console.log(adminData); setUserList(() => adminData); }); return () => { unsub(); unSubArr.forEach((unsub: any) => { unsub(); }); }; } }, [currentBizId]);