overleaf-cep/services/web/frontend/js/shared/hooks/use-debounce.ts
Mathias Jakobsen 13d3d0c552 Merge pull request #26269 from overleaf/ae-use-debounce-types
Remove JSDoc types from useDebounce

GitOrigin-RevId: d0504076aab4af94cd03c5f2a98853535979012a
2025-06-26 08:05:31 +00:00

17 lines
389 B
TypeScript

import { useEffect, useState } from 'react'
export default function useDebounce<T>(value: T, delay = 0): T {
const [debouncedValue, setDebouncedValue] = useState(value)
useEffect(() => {
const timer = window.setTimeout(() => {
setDebouncedValue(value)
}, delay)
return () => {
window.clearTimeout(timer)
}
}, [value, delay])
return debouncedValue
}