如何在firebase或react查询中执行分页

问题描述 投票:0回答:1

我正在尝试从我的 firebase firestore 对我的产品进行分页,但产品没有返回 null 或未定义

这是我的状态背景,我似乎没有弄对

  const [items, setItems] = useState([]);

  

  const initialState = {
    showCart: false,
    products: items,
    cartItems: c,
  };
  const { q } = useQuery({
    queryKey: ["products"],
    queryFn: async () => {
      const first = query(
        collection(db, "products"),
        orderBy("title"),
        limit(4)
      );
      const data = await getDocs(first);
      data.docs.forEach((doc) => {
        let key = doc.id;
        let item = doc.data();
        // items.push({ key, item });
      });
      setItems(data.docs);
      console.log(data.docs.lenght);
    },
  
// output in console: 0

// expected File;[{...}] array object
});
javascript google-cloud-firestore pagination react-query
1个回答
0
投票

我已经修复了集合引用错误,因此它没有找到 firestore 引用并返回

null
undefined

这是修复方法

  useQuery({
    queryKey: ["products"],
    queryFn: async () => {
      const first = query(
    collection(db, "products"),
    //collectio reference folder is suppose to be 
    'Products' not 'products'
        orderBy("title"),
        limit(4)
      );
      const data = await getDocs(first);
      data.docs.forEach((doc) => {
        let key = doc.id;
        let item = doc.data();
        items.push({ key, item });
      });
      setItems(data.docs);
    },
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.