30 lines
681 B
JavaScript
30 lines
681 B
JavaScript
"use strict";
|
|
|
|
var __importDefault = this && this.__importDefault || function (mod) {
|
|
return mod && mod.__esModule ? mod : {
|
|
"default": mod
|
|
};
|
|
};
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var react_1 = require("react");
|
|
|
|
var usePersistFn_1 = __importDefault(require("../usePersistFn"));
|
|
|
|
function useTimeout(fn, delay) {
|
|
var timerFn = usePersistFn_1["default"](fn);
|
|
react_1.useEffect(function () {
|
|
if (delay === undefined || delay === null) return;
|
|
var timer = setTimeout(function () {
|
|
timerFn();
|
|
}, delay);
|
|
return function () {
|
|
clearTimeout(timer);
|
|
};
|
|
}, [delay, timerFn]);
|
|
}
|
|
|
|
exports["default"] = useTimeout; |