useDebounce

A hook to debounce rapidly changing values

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.

ParameterTypeDescriptionDefault
valueTThe value to debounce-
delaynumberDelay in milliseconds500