use-state-debounced
Version:
useStateDebounced - React debounced state hook
20 lines • 518 B
JavaScript
// src/useStateDebounced.ts
import {
useEffect,
useState
} from "react";
function useStateDebounced(delay, initialState) {
const [value, setValue] = useState(initialState);
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
const timer = setTimeout(() => setDebouncedValue(value), delay);
return () => {
clearTimeout(timer);
};
}, [value, delay]);
return [value, debouncedValue, setValue];
}
export {
useStateDebounced
};
//# sourceMappingURL=index.mjs.map