跳转到内容

无限查询(useInfiniteQuery)

import { useInfiniteQuery } from '@iostore/solid';
const feed = useInfiniteQuery({
key: ['feed'],
initialPageParam: 0,
queryFn: ({ signal, pageParam }) =>
fetch(`/api/feed?cursor=${pageParam}`, { signal }).then((r) => r.json()),
getNextPageParam: (lastPage) => lastPage.nextCursor ?? null,
});
  • data.pages 保存每一页结果,渲染时建议 flatMap
  • getNextPageParam 返回 null/undefined 即表示没有下一页。
  • 需要双向加载时补充 getPreviousPageParam
  • 建议结合 maxPages 控制内存窗口。