UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

34 lines (33 loc) 704 B
import { useState, useEffect } from "react"; const useImageLoaded = (src, srcSet) => { const [imageLoaded, setImageLoaded] = useState(false); 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; }; export { useImageLoaded };