UNPKG

lexical-beautiful-mentions

Version:
21 lines (20 loc) 801 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDebounce = useDebounce; const react_1 = require("react"); function useDebounce(value, delay) { const [debouncedValue, setDebouncedValue] = (0, react_1.useState)(value); (0, react_1.useEffect)(() => { // Update debounced value after delay const handler = setTimeout(() => { setDebouncedValue(value); }, delay); // Cancel the timeout if value changes (also on delay change or unmount) // This is how we prevent debounced value from updating if value is changed // within the delay period. Timeout gets cleared and restarted. return () => { clearTimeout(handler); }; }, [value, delay]); return debouncedValue; }