Files
stats/apps/dashboard/src/hooks/useDebounceValue.ts
2024-09-01 15:02:12 +02:00

11 lines
323 B
TypeScript

import { useEffect, useState } from 'react';
export const useDebounceValue = <T>(value: T, delay: number): T => {
const [state, setState] = useState(value);
useEffect(() => {
const handler = setTimeout(() => setState(value), delay);
return () => clearTimeout(handler);
}, [value, delay]);
return state;
};