import { useState, useEffect } from 'react'; import useDebounceFn from '../useDebounceFn'; import { DebounceOptions } from './debounceOptions'; function useDebounce(value: T, options?: DebounceOptions) { const [debounced, setDebounced] = useState(value); const { run } = useDebounceFn(() => { setDebounced(value); }, options); useEffect(() => { run(); }, [value]); return debounced; } export default useDebounce;