@figliolia/react-hooks
Version:
A small collection of simple React Hooks you're probably rewriting on a regular basis
19 lines (18 loc) • 691 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useDebouncer = void 0;
const react_1 = require("react");
const Debouncer_1 = require("../Generics/Debouncer");
const useController_1 = require("./useController");
const useUnmount_1 = require("./useUnmount");
const useDebouncer = (callback, wait) => {
const debouncer = (0, useController_1.useController)(new Debouncer_1.Debouncer(callback, wait));
(0, react_1.useEffect)(() => {
debouncer.update(callback, wait);
}, [debouncer, callback, wait]);
(0, useUnmount_1.useUnmount)(() => {
debouncer.cancel();
});
return debouncer;
};
exports.useDebouncer = useDebouncer;