@rtdui/hooks
Version:
React hooks library base on @mantine/hooks
23 lines (20 loc) • 544 B
JavaScript
'use client';
import { useRef, useCallback } from 'react';
import wrapperRaf from './utils/raf.mjs';
function useRafDebounce(callback) {
const executeRef = useRef(false);
const rafRef = useRef();
const wrapperCallback = useCallback(() => callback(), []);
return () => {
if (executeRef.current) {
return;
}
executeRef.current = true;
wrapperCallback();
rafRef.current = wrapperRaf(() => {
executeRef.current = false;
});
};
}
export { useRafDebounce };
//# sourceMappingURL=useRafDebounce.mjs.map