useInfiniteQuery<T, TPageParam> function
A hook to use an infinite query.
Implementation
InfiniteQueryResult<T> useInfiniteQuery<T, TPageParam>({
required String key,
required Future<T> Function(TPageParam?) fetcher,
required TPageParam? Function(T lastPage, List<T> allPages) getNextPageParam,
}) {
final queryClient = useQueryClient();
final controller = useMemoized(
() => queryClient.cache.buildInfinite<T, TPageParam>(key),
[key, queryClient],
);
final state = useValueListenable(controller);
useEffect(() {
controller.fetch(
fetcher: fetcher,
getNextPageParam: getNextPageParam,
);
return null;
}, [controller]);
return InfiniteQueryResult(state, controller.fetchNextPage);
}