En la función fetchUserCart(), intento obtener primero una matriz que contiene cadenas con el nombre único del producto y luego establecer mi matriz de estado con el resultado de la segunda consulta (consulta basada en el resultado de la primera consulta). Mientras que el primero funciona, el segundo no y no entiendo por qué. Cuando trato de asignar productos actuales para representar una tabla, la matriz está vacía.
export const CartPage = () => { const [user, error] = useAuthState(auth); const [cartItems, setCartItems]=React.useState(0); const [currentProducts, setCurrentProducts]=React.useState([]); const fetchUserCartItems=async()=>{ const q = query(collection(db, "users"), where("uid", "==", user?.uid)); const doc = await getDocs(q); const data = doc.docs[0].data(); let cartItemsClone=data.cartItems; setCartItems(cartItemsClone); } const fetchUserCart = async() =>{ const q = query(collection(db, "users"), where("uid", "==", user?.uid)); const doc = await getDocs(q); const data = doc.docs[0].data(); let cart=data.cart; console.log(cart); let products =[]; cart.forEach(async(item)=>{ const q = query(collection(db, "products"), where("uniqueName", "==", item)); const doc = await getDocs(q); const data = doc.docs[0].data(); products.push(data); }) setCurrentProducts(products); } React.useEffect(() => { fetchUserCartItems(); fetchUserCart(); }, [user], [currentProducts] );