reactuals
Version:
A useful package providing a collection of 50+ React hooks and utilities to simplify React development.
15 lines (14 loc) • 500 B
JavaScript
import { useEffect, useState } from "react";
/**
* Returns a debounced version of the input value after a delay.
* @param value - The value to debounce
* @param delay - Delay in milliseconds (default: 300ms)
*/
export function useDebounce(value, delay = 300) {
const [debounced, setDebounced] = useState(value);
useEffect(() => {
const timer = setTimeout(() => setDebounced(value), delay);
return () => clearTimeout(timer);
}, [value, delay]);
return debounced;
}