import { useState, useEffect } from 'react'; function useDebounce(value, delay) { const [debouncedValue, setDebouncedValue] = useState(value); useEffect(() => { const handler = setTimeout(() => { setDebouncedValue(value); }, delay); return () => { clearTimeout(handler); }; }, [value, delay]); return debouncedValue; } // Example Usage: // function SearchInput() { // const [searchTerm, setSearchTerm] = useState(''); // const debouncedSearchTerm = useDebounce(searchTerm, 500); // useEffect(() => { // if (debouncedSearchTerm) { // console.log('Searching for:', debouncedSearchTerm); // // Perform API call or heavy computation // } // }, [debouncedSearchTerm]); // return ( // setSearchTerm(e.target.value)} // /> // ); // }