UNPKG

hooks-me

Version:

<div align="center"> <h1>hooks-me</h1> <div>React useful hooks.</div>

29 lines (28 loc) 1.2 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; 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 useTimeout_1 = __importDefault(require("./useTimeout")); /** * * @param callback Method to call * @param delay Delay in ms * @param dependencies If present, effect will only activate if the values in the list change. */ var useDebounce = function (callback, delay, dependencies) { var _a = (0, useTimeout_1.default)(callback, delay), reset = _a.reset, clear = _a.clear; (0, react_1.useEffect)(reset, __spreadArray(__spreadArray([], (dependencies || []), true), [reset], false)); (0, react_1.useEffect)(clear, []); }; exports.default = useDebounce;