import { useRef, useLayoutEffect, useCallback } from "react"; export function useCallbackRef any>( callback: T, ): T { const callbackRef = useRef(callback); useLayoutEffect(() => { callbackRef.current = callback; }); return useCallback( ((...args) => callbackRef.current?.(...args)) as T, [], ) as T; }