UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

21 lines 549 B
import React from 'react'; import useEvent from "rc-util/es/hooks/useEvent"; 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(null); const wrapperCallback = useEvent(callback); return () => { if (executeRef.current) { return; } executeRef.current = true; wrapperCallback(); rafRef.current = raf(() => { executeRef.current = false; }); }; }