| import { useEffect, useState } from "react"; | |
| export function useDebouncedValue<T>(value: T, delayMs = 300): T { | |
| const [debounced, setDebounced] = useState(value); | |
| useEffect(() => { | |
| const timer = window.setTimeout(() => setDebounced(value), delayMs); | |
| return () => window.clearTimeout(timer); | |
| }, [delayMs, value]); | |
| return debounced; | |
| } | |