import {useCallback, useLayoutEffect, useRef} from 'react'; // eslint-disable-next-line @typescript-eslint/no-explicit-any type Fn = (...args: any[]) => any; export const useStableCallback = (value: T) => { const callback = useRef(value); useLayoutEffect(() => { callback.current = value; }); return useCallback((...args: Parameters): ReturnType => { return callback.current?.(...args); }, []); };