Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import { IMovie } from "@/interfaces";
import { useInfiniteQuery, QueryKey } from "@tanstack/react-query";
type PaginatedMovieResponse = {
page: number;
results: IMovie[];
total_pages: number;
total_results: number;
};
const useInfiniteMovieQuery = (queryKey: QueryKey, queryFn: any) => {
return useInfiniteQuery({
queryKey,
queryFn,
initialPageParam: 1,
getNextPageParam: (lastPage: PaginatedMovieResponse) => {
if (lastPage.page < lastPage.total_pages) {
return lastPage.page + 1;
}
return undefined;
},
});
};
export default useInfiniteMovieQuery;
|