import { ComponentPropsWithoutRef, useState, useEffect } from "react"; type BlobImageProps = Omit, "src"> & { imgRef?: React.Ref; src?: Blob | string | null; }; export default function BlobImage(props: BlobImageProps) { const { imgRef, src, ...otherProps } = props; const [url, setUrl] = useState(undefined); useEffect(() => { if (src instanceof Blob) { const url = URL.createObjectURL(src); setUrl(url); return () => { URL.revokeObjectURL(url); }; } else { setUrl(src); } }, [src]); return ; }