import { useRef, useCallback } from 'react'; export default function useDebouncedCallback( callback, wait ) { const timeout = useRef(); return useCallback( ( ...args ) => { const later = () => { clearTimeout( timeout.current ); callback( ...args ); }; clearTimeout( timeout.current ); timeout.current = setTimeout( later, wait ); }, [ callback, wait ], ); }