useDebounce

Debounce any value with a configurable delay. Useful for search inputs, API calls, and filtering.

import { useDebounce } from "@allem-sdk/hooks";

Parameters

PropTypeDefaultDescription
value*TThe value to debounce
delaynumber500Delay in milliseconds

Returns

T — The debounced value, updated after the delay.

Usage

const [search, setSearch] = useState("");
const debouncedSearch = useDebounce(search, 300);

useEffect(() => {
  if (debouncedSearch) {
    fetchResults(debouncedSearch);
  }
}, [debouncedSearch]);

<input
  value={search}
  onChange={(e) => setSearch(e.target.value)}
  placeholder="Search..."
/>