UNPKG

@hitachivantara/uikit-react-core

Version:
28 lines (27 loc) 651 B
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 };