Skip to content

Commit 6752226

Browse files
committed
Move fetch page functions into subscription hook
1 parent d4a99da commit 6752226

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

packages/toolkit/src/query/react/buildHooks.ts

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -864,6 +864,8 @@ export type UseInfiniteQuerySubscriptionResult<
864864
D extends InfiniteQueryDefinition<any, any, any, any, any>,
865865
> = Pick<InfiniteQueryActionCreatorResult<D>, 'refetch'> & {
866866
trigger: LazyInfiniteQueryTrigger<D>
867+
fetchNextPage: () => InfiniteQueryActionCreatorResult<D>
868+
fetchPreviousPage: () => InfiniteQueryActionCreatorResult<D>
867869
}
868870

869871
/**
@@ -897,10 +899,11 @@ export type UseInfiniteQuery<
897899
arg: InfiniteQueryArgFrom<D> | SkipToken,
898900
options?: UseInfiniteQuerySubscriptionOptions<D> &
899901
UseInfiniteQueryStateOptions<D, R>,
900-
) => UseInfiniteQueryHookResult<D, R> & {
901-
fetchNextPage: () => InfiniteQueryActionCreatorResult<D>
902-
fetchPreviousPage: () => InfiniteQueryActionCreatorResult<D>
903-
}
902+
) => UseInfiniteQueryHookResult<D, R> &
903+
Pick<
904+
UseInfiniteQuerySubscriptionResult<D>,
905+
'fetchNextPage' | 'fetchPreviousPage'
906+
>
904907

905908
export type UseInfiniteQueryState<
906909
D extends InfiniteQueryDefinition<any, any, any, any, any>,
@@ -1946,8 +1949,19 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
19461949
}
19471950
}, [promiseRef])
19481951

1949-
return useMemo(
1950-
() => ({
1952+
return useMemo(() => {
1953+
const fetchNextPage = () => {
1954+
// TODO the hasNextPage bailout breaks things
1955+
//if (!hasNextPage) return
1956+
return trigger(arg, 'forward')
1957+
}
1958+
1959+
const fetchPreviousPage = () => {
1960+
//if (!hasPreviousPage) return
1961+
return trigger(arg, 'backward')
1962+
}
1963+
1964+
return {
19511965
trigger,
19521966
/**
19531967
* A method to manually refetch data for the query
@@ -1959,9 +1973,10 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
19591973
)
19601974
return promiseRef.current?.refetch()
19611975
},
1962-
}),
1963-
[promiseRef, trigger],
1964-
)
1976+
fetchNextPage,
1977+
fetchPreviousPage,
1978+
}
1979+
}, [promiseRef, trigger, arg])
19651980
}
19661981

19671982
const useInfiniteQueryState: UseInfiniteQueryState<any> = (
@@ -2035,7 +2050,8 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
20352050
useInfiniteQueryState,
20362051
useInfiniteQuerySubscription,
20372052
useInfiniteQuery(arg, options) {
2038-
const { trigger, refetch } = useInfiniteQuerySubscription(arg, options)
2053+
const { refetch, fetchNextPage, fetchPreviousPage } =
2054+
useInfiniteQuerySubscription(arg, options)
20392055
const queryStateResults = useInfiniteQueryState(arg, {
20402056
selectFromResult:
20412057
arg === skipToken || options?.skip
@@ -2065,17 +2081,6 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
20652081
hasPreviousPage,
20662082
})
20672083

2068-
const fetchNextPage = useCallback(() => {
2069-
// TODO the hasNextPage bailout breaks things
2070-
//if (!hasNextPage) return
2071-
return trigger(arg, 'forward')
2072-
}, [trigger, arg])
2073-
2074-
const fetchPreviousPage = useCallback(() => {
2075-
//if (!hasPreviousPage) return
2076-
return trigger(arg, 'backward')
2077-
}, [trigger, arg])
2078-
20792084
return useMemo(
20802085
() => ({
20812086
...queryStateResults,

0 commit comments

Comments
 (0)