在表中使用useInfiniteQuery钩子时,我遇到了一个问题。
我正在显示第0页的前10个结果,然后我想单击“显示更多”,并在第1页显示20个结果。
然而问题是,当我按另一列排序时,页面重置为0,并且只显示前10个结果。
我在.net后端使用分页,逻辑如下:
var items = await source.Skip(pageNumber * pageSize).Take(pageSize).ToListAsync();
如何保持page=1并显示20次首次出现?
我在useInfiniteQuery钩子中尝试了以下方法:
export const useGetPersons = (
refetch?: boolean
) =>
useInfiniteQuery(
["persons"],
({ pageParam = 0 }) =>
getPersons(pageParam, pageSize).then(
r => r.data
),
{
enabled: refetch,
getNextPageParam: lastPage => lastPage.nextCursor ?? undefined,
refetchInterval: 10000
}
);