Installation
npx shadcn@latest add @craftdotui/use-debounce
Usage
import { useState } from "react";
import { useDebounce } from "@/hooks/use-debounce";
function SearchInput() {
const [searchTerm, setSearchTerm] = useState("");
const debouncedSearchTerm = useDebounce(searchTerm, 500);
// Use debouncedSearchTerm for API calls
useEffect(() => {
if (debouncedSearchTerm) {
// Perform search with debouncedSearchTerm
console.log("Searching for:", debouncedSearchTerm);
}
}, [debouncedSearchTerm]);
return (
<input
type="text"
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
placeholder="Search..."
/>
);
}
API Reference
useDebounce
A hook to debounce rapidly changing values.
| Parameter | Type | Description | Default |
|---|---|---|---|
| value | T | The value to debounce | - |
| delay | number | Delay in milliseconds | 500 |