import { MutableRefObject, useEffect, useRef } from "react"; export default ( value: T, callback?: (ref: MutableRefObject) => T | undefined ) => { const ref = useRef(); useEffect(() => { if (!callback) { ref.current = value; } else { ref.current = callback(ref); } }, [callback, value]); return ref.current; };