Javascript 如何检查图像是否加载到React中的骨架功能工作流中
我正在为卡片组件实现一个框架,如下所示:Javascript 如何检查图像是否加载到React中的骨架功能工作流中,javascript,reactjs,Javascript,Reactjs,我正在为卡片组件实现一个框架,如下所示: { loadingContext & <MySkeleton/> : <Card/> } {loadingContext&:} 但是,为了使其真正正常工作,我需要测试卡组件中的图像,以通过以下方式完成加载: <img onload={() => setLoadingContext(false)} .../> setLoadingContext(false)}…/> 但是,在Load设置为false
{ loadingContext & <MySkeleton/> : <Card/> }
{loadingContext&:}
但是,为了使其真正正常工作,我需要测试卡组件中的图像,以通过以下方式完成加载:
<img onload={() => setLoadingContext(false)} .../>
setLoadingContext(false)}…/>
但是,在Load设置为false之前,不会调用此卡组件代码,并且将loadingContext设置为false的代码位于卡组件中。一个负的无限循环
那么,问题是,在这种情况下,如何有效地检查卡组件的映像是否已完全加载
干杯,
Matt首先,处理卡组件外部加载的目的是什么 其次,如果我要这样做,我会制作一个包含图像和骨架的组件,将图像和骨架放在视图中,并将骨架位置设置为绝对,而不是此条件,直到图像未加载,我将继续在图像顶部显示骨架。希望你收到了
function ImageWithLoad(props) {
return (
<View>
loadingContext && <Skeleton style={styles.absolute} />
<Image onload={() => setLoadingContext(false)}>
</View>
);
}
export default ImageWithLoad;
功能图像加载(道具){
返回(
加载上下文&&
setLoadingContext(false)}>
);
}
使用Load导出默认图像;
一种解决方案是加载两个组件,并使用加载状态/上下文控制通过CSS显示的内容。通过这种方式,我们可以访问卡组件中img标记上的onLoad事件(出于演示目的附加到组件的样式)
函数Post(){
...
返回(
)
}
在卡片组件中,我们有一个图像。加载时,我们将加载状态或上下文设置为false
<img onLoad={() => setLoadingContext(false)} ... />
setLoadingContext(false)}…/>
首先,处理卡组件外部加载的目的是什么?其次,如果我要这样做,我会制作一个包含图像和骨架的组件,将图像和骨架放在视图中,并将骨架位置设置为绝对,而不是此条件,直到图像未加载为止,我将继续在Imafe顶部显示骨架。希望你收到。我想这就是你要找的。你好,赛义德,谢谢你的回复。使用上下文跟踪整个应用程序的加载,因为其他组件也需要知道应用程序何时处于加载状态。这是一个有趣的方法,我不确定它是否可行,因为我还有文本元素,不仅仅是图像,但我会研究它。谢谢。莱吉斯,谢谢,同样的问题,也是一个很好的解决方案。你好,赛义德,谢谢你的回复。使用上下文跟踪整个应用程序的加载,因为其他组件也需要知道应用程序何时处于加载状态。这是一个有趣的方法,我不确定它是否可行,因为我还有文本元素,不仅仅是图像,但我会研究它。谢谢你是的,我已经改变了我的回答使用上下文。谢谢
<img onLoad={() => setLoadingContext(false)} ... />