reactjs 有人知道为什么我不能从firebase集合中获取所有文档吗?

nukf8bse  于 2022-12-18  发布在  React
关注(0)|答案(1)|浏览(100)

这个例子只给我带来了一个文档(“socios”)。有人能解释一下我做错了什么吗?

useEffect(() => {
    const consulta = async () => {
      const db = firebase.firestore();
      const querySnapshot = await getDocs(collection(db,"socios"));
      querySnapshot.forEach((doc) => {
        console.log("ESTO ES DOCDATA", doc.data())
        setQuery(doc.data());
      });
    };
    consulta();
  }, []);
lstz6jyr

lstz6jyr1#

问题很可能出在这里:
每次调用setQuery时,doc.data()都会覆盖该状态变量中以前的任何值。
要保留所有值,请执行以下操作:

let docs = querySnapshot.docs.map((doc) => doc.data());
setQuery(docs);

所以现在我们把所有文档的数据放在一个数组中,然后把这个数组传递给setQuery,这当然意味着UI组件也必须能够呈现这个数组。

相关问题