function useDebounce<T>(value: T, delay: number): T { const [debounced, setDebounced] = useState<T>(value); useEffect(() => { const t = setTimeout(() => setDebounced(value…