簡體   English   中英

使用 firebase javasscript SDK v9 從帶有 collectionGroup 的用戶集合中的子集合中獲取帖子

[英]Getting posts from subcollection in users collection with collectionGroup using firebase javasscript SDK v9

我在這里做錯了什么? 帖子狀態類型返回未定義

錯誤:

類型錯誤:無法讀取未定義的屬性(讀取“地圖”)

從 Firestore 獲取帖子子集合:

const [posts, setPosts] = useState([]);

useEffect(async () => {
  const querySnapshot = await getDocs(
    query(collectionGroup(db, "posts"), orderBy("createdAt", "desc"))
  );
  setPosts(querySnapshot.forEach((doc) => doc.data()));
}, []);

插入帖子數據:

<ScrollView>
  {posts.map((post, i) => (
    <Post post={post} key={i} />
  ))}
</ScrollView>;

您不能直接將useEffect掛鈎設為async 為此,您需要創建一個async方法並在useEffect hook調用該方法。

這是示例代碼,可以幫助您

const [posts, setPosts] = useState([]);

useEffect(() => {
  const getData = async () => {
    const querySnapshot = await getDocs(
      query(collectionGroup(db, "posts"), orderBy("createdAt", "desc"))
    );
    setPosts(querySnapshot.forEach((doc) => doc.data()));
  };
  getData();
}, []);
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM