@livelike/react-native
Version:
LiveLike React Native package
20 lines • 570 B
JavaScript
import { useRef, useCallback } from 'react';
export function useDebounce(_ref) {
let {
callback,
timer
} = _ref;
const timeoutRef = useRef(null);
return 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