小编tau*_*Oan的帖子

useInfiniteQuery 不保留以前的数据(反应查询)

我正在尝试使用不支持分页游标的后端的过滤器来实现分页滚动的 useInfiniteQuery (我正在使用 limit 和 start 参数)。我能够检索我的数据,但我的 hasNextPage 变量始终未定义。我无法获取更多数据。当使用该按钮触发 fetchNextPage 时,可以看到新数据,但会删除以前的数据。

安慰

我究竟做错了什么 ?这是我的代码:

// Query data
  const { 
      data, 
      status, 
      error, 
      isSuccess, 
      hasNextPage,
      fetchNextPage, 
      isFetching,
      isFetchingNextPage, 
      isLoading,
      isError,
  } = useInfiniteQuery(
    [
      'vendors',
      {vendor_type: vendorTypesId}, 
      {country: countryId}, 
      {city: cityId}, 
      {vendor_product_types: productCategoryId}, 
      {page: thisPage}, 
      {start: start}, 
      {name: nameInput},
      {limit: limit},
    ],
    getVendors, 
   { 
      initialData: {
        pages : [{
          result: vendors,
          resultCount: 495,
          pageId: 0,
          nextPageId: 15
        }], 
        pageParams: startParams
      }
    },
    {getNextPageParam: (lastPage, pages) => lastPage.nextPageId}
    {keepPreviousData: true}
  ) 
Run Code Online (Sandbox Code Playgroud)

更新: hasNextPage …

pagination infinite-scroll reactjs next.js react-query

5
推荐指数
1
解决办法
7877
查看次数