import { useRef } from 'react'; import type { MutableRefObject } from 'react'; const UNINITIALIZED = Symbol(); export default function useLazyRef(refInit: () => T): MutableRefObject { const ref = useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = refInit(); } return ref as MutableRefObject; }