QuickSnip
← Back to browse

Debounced search input

A TSX component using the useDebounce hook for search-as-you-type.

TSX11 linesUpdated Jul 17, 2026
Edit
TSX
"use client";
import { useEffect, useState } from "react";

export function SearchBox({ onSearch }) {
  const [query, setQuery] = useState("");
  useEffect(() => {
    const t = setTimeout(() => onSearch(query), 300);
    return () => clearTimeout(t);
  }, [query, onSearch]);
  return <input value={query} onChange={(e) => setQuery(e.target.value)} />;
}