@livelike/react-native
Version:
LiveLike React Native package
26 lines (25 loc) • 688 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDebounce = useDebounce;
var _react = require("react");
function useDebounce(_ref) {
let {
callback,
timer
} = _ref;
const timeoutRef = (0, _react.useRef)(null);
return (0, _react.useCallback)(function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
if (timeoutRef.current) {
clearTimeout(timeoutRef.current);
}
timeoutRef.current = setTimeout(() => {
callback(...args);
}, timer);
}, [callback, timer, timeoutRef]);
}
//# sourceMappingURL=useDebounce.js.map