UNPKG

zent

Version:

一套前端设计语言和基于React的实现

18 lines (16 loc) 487 B
import { useRef, useCallback, useEffect } from 'react'; export function useAnimationFramed(callback: () => void) { const callbackRef = useRef(callback); const handleRef = useRef<number | null>(null); useEffect(() => { callbackRef.current = callback; }, [callback]); return useCallback(() => { if (!handleRef.current) { handleRef.current = requestAnimationFrame(() => { handleRef.current = null; callbackRef.current(); }); } }, []); }