UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

21 lines 531 B
import React from 'react'; import { useEvent } from 'rc-util'; import raf from "rc-util/es/raf"; /** * Callback will only execute last one for each raf */ export default function useRafDebounce(callback) { const executeRef = React.useRef(false); const rafRef = React.useRef(); const wrapperCallback = useEvent(callback); return () => { if (executeRef.current) { return; } executeRef.current = true; wrapperCallback(); rafRef.current = raf(() => { executeRef.current = false; }); }; }