Files
Aurora-SpotiRip/helpers/useCallbackRef.tsx
T

17 lines
360 B
TypeScript
Raw Normal View History

2026-09-25 23:20:57 -05:00
import { useRef, useLayoutEffect, useCallback } from "react";
export function useCallbackRef<T extends (...args: any[]) => any>(
callback: T,
): T {
const callbackRef = useRef(callback);
useLayoutEffect(() => {
callbackRef.current = callback;
});
return useCallback(
((...args) => callbackRef.current?.(...args)) as T,
[],
) as T;
}