Skip to Content

useDebounce

A hook that delays updating a value until a specified time has passed since the last change. Perfect for search inputs, form validation, or any scenario where you want to limit the frequency of updates.

Parameters

  • value: T - The value to debounce (can be any type)
  • delay: number - The delay in milliseconds

Returns

  • T - The debounced value

Usage

import { useDebounce } from '@rhinolabs/react-hooks'; function SearchInput() { const [searchTerm, setSearchTerm] = useState(''); const debouncedSearch = useDebounce(searchTerm, 500); useEffect(() => { // Only search when debouncedSearch changes if (debouncedSearch) { searchAPI(debouncedSearch); } }, [debouncedSearch]); return ( <input type="text" value={searchTerm} onChange={(e) => setSearchTerm(e.target.value)} placeholder="Search..." /> ); }

Notes

  • Generic type support
  • Cleans up timeouts
  • Prevents rapid updates
  • Performance optimization
  • Type-safe implementation
  • Customizable delay
  • Memory efficient
  • Real-time state tracking
Last updated on