UNPKG

@platform/react

Version:

React refs and helpers.

22 lines (21 loc) 768 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useDebounce = void 0; var react_1 = require("react"); function useDebounce(value, msecs, onChanged) { var _a = (0, react_1.useState)(value), debouncedValue = _a[0], setDebouncedValue = _a[1]; (0, react_1.useEffect)(function () { var change = function () { var isChanged = value !== debouncedValue; if (isChanged) { setDebouncedValue(value); if (onChanged) onChanged(value); } }; var timeout = setTimeout(change, msecs); return function () { return clearTimeout(timeout); }; }, [value]); return debouncedValue; } exports.useDebounce = useDebounce;