@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
34 lines (33 loc) • 802 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const React = require("react");
const useImageLoaded = (src, srcSet) => {
const [imageLoaded, setImageLoaded] = React.useState(false);
React.useEffect(() => {
if (!src && !srcSet) {
return void 0;
}
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;
};
exports.useImageLoaded = useImageLoaded;