react-use
Version:
Collection of React Hooks
20 lines (19 loc) • 800 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var set_harmonic_interval_1 = require("set-harmonic-interval");
var useHarmonicIntervalFn = function (fn, delay) {
if (delay === void 0) { delay = 0; }
var latestCallback = react_1.useRef(function () { });
react_1.useEffect(function () {
latestCallback.current = fn;
});
react_1.useEffect(function () {
if (delay !== null) {
var interval_1 = set_harmonic_interval_1.setHarmonicInterval(function () { return latestCallback.current(); }, delay);
return function () { return set_harmonic_interval_1.clearHarmonicInterval(interval_1); };
}
return undefined;
}, [delay]);
};
exports.default = useHarmonicIntervalFn;