跳转到内容

无限查询(useInfiniteQuery)

import { computed } from 'vue';
import { useInfiniteQuery } from '@iostore/vue';
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,
});
const rows = computed(() =>
feed.data.value?.pages.flatMap((page) => page.items) ?? [],
);
  • 通过 feed.data.value?.pages 渲染累计页。
  • getNextPageParam 返回 null/undefined 表示没有下一页。
  • 建议结合 maxPages 控制内存窗口。