@gdjiami/hooks
Version:
react hooks for mygzb.com
17 lines (16 loc) • 566 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
function useDebounce(fn, ms, args) {
if (ms === void 0) { ms = 1000; }
if (args === void 0) { args = []; }
react_1.useEffect(function () {
var handle = setTimeout(fn.bind.apply(fn, tslib_1.__spread([null], args)), ms);
return function () {
// if args change then clear timeout
clearTimeout(handle);
};
}, args);
}
exports.default = useDebounce;