- Published on
useDebounce Hook React

useDebounce Hook React
useDebounce Code and Usage
useDebounce is a hook to debounce a value or function, delaying its execution until a certain time has passed since the last call.
import { useState, useEffect } from "react";
const useDebounce = (value, delay) => {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
const handler = setTimeout(() => {
setDebouncedValue(value);
}, delay);
return () => {
clearTimeout(handler);
};
}, [value, delay]);
return debouncedValue;
};
// Usage
const DebouncedInput = () => {
const [inputValue, setInputValue] = useState("");
const debouncedInputValue = useDebounce(inputValue, 300);
return (
<input
type="text"
value={inputValue}
onChange={(e) => setInputValue(e.target.value)}
/>
);
};