У меня есть следующий компонент ImageFallback. Это обеспечивает запасное изображение, svg
, когда оригинала нет.
export interface ImageProps {
srcImage: string;
classNames?: string;
fallbackImage?: FallbackImages;
}
const Image = ({
srcImage,
classNames,
fallbackImage = FallbackImages.GENERAL_FALLBACK
}: ImageProps) => {
const imgToSourceFrom = `srcImage`;
const imgToFallbackTo = `fallbackImage`;
const [imgUrl, setImgUrl] = useState<string>(imgToSourceFrom);
return <img src={imgUrl} className={classNames} onError={() => setImgUrl(imgToFallbackTo)} />;
};
export default Image;
Теперь я хочу сделать то же самое, используя useRef
вместо useState
. Я немного растерялся, потому что я не часто пользуюсь ссылками. Итак, любая идея, как я могу использовать useRef
при вызове onError
, чтобы изменить источник изображения ??
Я пробовал это, но не повезло:
const imageRef = useRef(imgToFallbackTo);
console.log(imageRef.current); // this print the fallback..
return <img src={imgToSourceFrom} className={classNames} onError={() => imageRef.current} />;