| 1 |
import {useEffect, useRef} from 'react'; |
| 2 |
import debounce from 'lodash.debounce'; |
| 3 |
|
| 4 |
export default function useDebounce(callback) { |
| 5 |
const debouncedCallback = useRef(debounce(callback, 500)).current; |
| 6 |
|
| 7 |
useEffect(() => { |
| 8 |
return () => { |
| 9 |
debouncedCallback.cancel(); |
| 10 |
}; |
| 11 |
}, []); |
| 12 |
|
| 13 |
return debouncedCallback; |
| 14 |
} |
| 15 |
|