import { FC, useEffect, useState } from 'react'; import SafeImage from './safe.image'; interface ImageSrc { src: string; fallbackSrc: string; width: number; height: number; [key: string]: any; } const ImageWithFallback: FC = (props) => { const { src, fallbackSrc, ...rest } = props; const [imgSrc, setImgSrc] = useState(src); useEffect(() => { if (src !== imgSrc) { setImgSrc(src); } }, [src]); return ( { setImgSrc(fallbackSrc); }} /> ); }; export default ImageWithFallback;