Spaces:
Runtime error
Runtime error
| import { useRef, useCallback } from 'react'; | |
| export function useDebounce<T extends (...args: never[]) => void>( | |
| fn: T, | |
| delay: number, | |
| ): (...args: Parameters<T>) => void { | |
| const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null); | |
| return useCallback( | |
| (...args: Parameters<T>) => { | |
| if (timerRef.current) clearTimeout(timerRef.current); | |
| timerRef.current = setTimeout(() => fn(...args), delay); | |
| }, | |
| [fn, delay], | |
| ); | |
| } | |