UNPKG

@rtdui/hooks

Version:

React hooks library base on @mantine/hooks

23 lines (20 loc) 544 B
'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