File tree 1 file changed +3
-2
lines changed
1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -4,7 +4,9 @@ export function useDebouncedCallback<T extends (...args: never[]) => unknown>(
4
4
callback : T ,
5
5
delay : number ,
6
6
) {
7
+ const callbackRef = useRef ( callback ) ;
7
8
const debounceTimerRef = useRef ( 0 ) ;
9
+
8
10
useEffect ( ( ) => {
9
11
return ( ) => {
10
12
window . clearTimeout ( debounceTimerRef . current ) ;
@@ -14,9 +16,8 @@ export function useDebouncedCallback<T extends (...args: never[]) => unknown>(
14
16
return useCallback (
15
17
( ...args : Parameters < T > ) => {
16
18
window . clearTimeout ( debounceTimerRef . current ) ;
17
- debounceTimerRef . current = window . setTimeout ( ( ) => callback ( ...args ) , delay ) ;
19
+ debounceTimerRef . current = window . setTimeout ( ( ) => callbackRef . current ( ...args ) , delay ) ;
18
20
} ,
19
- // eslint-disable-next-line react-hooks/exhaustive-deps
20
21
[ delay ] ,
21
22
) ;
22
23
}
You can’t perform that action at this time.
0 commit comments