如何查看图片是否已加载?

问题描述 投票:0回答:1

我正在制作一个可以有儿童道具的卡鲁塞尔组件。在这种情况下我使用图像

`            <Carroussel counter='Foto' className={"room-carroussel"}>
                {extraImages.urls.map((url, index) => (
                    <img
                        key={index}
                        src={`images/${url}`}
                        alt={`Image ${index}`}
                    />))}
            </Carroussel>`

但是如果正在加载图像,我如何设置某些加载状态。目前,carroussel 会删除具有正确索引的图像并将其添加到 dom 中。

`
            <AnimatePresence mode="popLayout" initial={false} custom={direction}>
                <motion.div
                >
                    {React.Children.toArray(children)[pageIndex]}
                </motion.div>
            </AnimatePresence>`

我如何知道图像或其他相关内容是否已加载?

我环顾四周,只能找到 onload 属性,但我不确定如何将其链接到我的卡鲁塞尔???

reactjs image loading react-props children
1个回答
0
投票

图像有

onLoad
事件。您可以使用它们来跟踪加载的图像数量。

const [count, setCount] = useState(0);
const [loading, setLoading] = useState(true);

useEffect(() => {
    let TOTAL_IMAGES = 10;
    if (count === TOTAL_IMAGES) setLoading(false);
}, [count])


return (
    <Carroussel counter='Foto' className={"room-carroussel"}>
        {extraImages.urls.map((url, index) => (
            <img
                key={index}
                src={`images/${url}`}
                alt={`Image ${index}`}
                onLoad={setCount(count + 1)}
            />
        ))}
    </Carroussel>
)
© www.soinside.com 2019 - 2024. All rights reserved.