无限查询(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控制内存窗口。