@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
28 lines (27 loc) • 651 B
JavaScript
import { useEffect, useState } from "react";
//#region src/hooks/useImageLoaded.ts
var useImageLoaded = (src, srcSet) => {
const [imageLoaded, setImageLoaded] = useState(false);
useEffect(() => {
if (!src && !srcSet) return;
setImageLoaded(false);
let active = true;
const image = new Image();
image.src = src || "";
image.srcset = srcSet || "";
image.onload = () => {
if (!active) return;
setImageLoaded("loaded");
};
image.onerror = () => {
if (!active) return;
setImageLoaded("error");
};
return () => {
active = false;
};
}, [src, srcSet]);
return imageLoaded;
};
//#endregion
export { useImageLoaded };