Skip to content

Commit 6b0d4f2

Browse files
authoredFeb 9, 2023
Merge pull request #65 from commitd/sh/pageFix
fix(usepagination): corrects behaviour of the queryCallback feature
2 parents bab33d3 + 5d14641 commit 6b0d4f2

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed
 

‎src/usePagination/usePagination.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCallback, useEffect, useMemo, useState } from 'react'
1+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
22

33
export interface PaginationData {
44
/** The current page */
@@ -100,8 +100,16 @@ export function usePagination<T = void>({
100100
setPageInternal((page) => Math.max(1, Math.min(page, totalPages)))
101101
}, [totalPages])
102102

103+
const savedCallback = useRef<(data: PaginationData) => T>(queryCallback)
104+
105+
// Remember the latest callback.
106+
useEffect(() => {
107+
savedCallback.current = queryCallback
108+
}, [queryCallback])
109+
103110
const query = useMemo(() => {
104-
return queryCallback({
111+
const callback = savedCallback.current
112+
return callback({
105113
page,
106114
pageSize,
107115
totalPages,
@@ -111,7 +119,6 @@ export function usePagination<T = void>({
111119
isPreviousDisabled,
112120
})
113121
}, [
114-
queryCallback,
115122
page,
116123
pageSize,
117124
totalPages,

0 commit comments

Comments
 (0)
Please sign in to comment.