@invex
Верстаю

Почему в массив не добавляются все коллекции?

Почему в масив не добавляются все колекции, хотя в консоле перебираются все.
const [data, setData] = useState([]);
const takeData = async () => {
    const UID = getAuth().currentUser.uid;
    const db = getFirestore();
    const q = query(collection(db, "users", UID, "statistic"));

    const querySnapshot = await getDocs(q);
    querySnapshot.forEach((doc) => {
      console.log(doc.data());
      setData([...data, doc.data()]);
    });
  };
  useEffect(() => {
    takeData();
  }, []);

63d385ef82acd785147447.png
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
ты на каждой итерации forEach добавляешь doc.data() к пустому массиву data.

const [data, setData] = useState([]);
const takeData = async () => {
    const UID = getAuth().currentUser.uid;
    const db = getFirestore();
    const q = query(collection(db, "users", UID, "statistic"));

    const querySnapshot = await getDocs(q);
    setData(querySnapshot.map((doc) => doc.data()));
  };
  useEffect(() => {
    takeData();
  }, []);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект