@lido-sdk/react
Version:
This project is being slowly deprecated and may not receive further updates. Check out [modern Lido SDK](https://github.com/lidofinance/lido-ethereum-sdk/pulls) to access latest functionality. It is actively maintained and is built for interacting with Li
24 lines (19 loc) • 655 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('react');
const useDebounceCallback = (callback, timeout = 0) => {
const timer = react.useRef(null);
const clearTimer = react.useCallback(() => {
if (timer.current != null) {
clearTimeout(timer.current);
}
}, []);
react.useEffect(() => {
return clearTimer;
}, [clearTimer]);
return react.useCallback(() => {
clearTimer();
timer.current = setTimeout(callback, timeout);
}, [callback, timeout, clearTimer]);
};
exports.useDebounceCallback = useDebounceCallback;