1234567891011121314151617 |
- import { useEffect, useState } from 'react';
-
- const useDebounce = (value: string, delay: number) => {
- const [debouncedValue, setDebouncedValue] = useState(value);
-
- useEffect(() => {
- const timer = setTimeout(() => setDebouncedValue(value), delay || 500);
-
- return () => {
- clearTimeout(timer);
- };
- }, [value, delay]);
-
- return debouncedValue;
- };
-
- export default useDebounce;
|