useDebouncedValue.ts16 lines · main
| 1 | import { useState } from 'react' |
| 2 | import { useDebounce } from 'react-use' |
| 3 | |
| 4 | export const useDebouncedValue = (value: string, delay: number) => { |
| 5 | const [debouncedValue, setDebouncedValue] = useState(value) |
| 6 | |
| 7 | useDebounce( |
| 8 | () => { |
| 9 | setDebouncedValue(value) |
| 10 | }, |
| 11 | delay, |
| 12 | [value] |
| 13 | ) |
| 14 | |
| 15 | return debouncedValue |
| 16 | } |