lexical-beautiful-mentions
Version:
A mentions plugin for the lexical text editor.
21 lines (20 loc) • 801 B
JavaScript
;
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;
}