import {useCallback, useEffect, useRef} from "react"; type Args = any[] export const useAnimationFrame = void>( callback: Fn, wait = 0 ): ((...args: Parameters)=>void)=>{ const rafId = useRef(0) const render = useCallback( (...args: Parameters)=>{ cancelAnimationFrame(rafId.current) const timeStart = performance.now() const renderFrame = (timeNow: number)=>{ if(timeNow-timeStartcancelAnimationFrame(rafId.current),[]) return render }