Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查图像是否加载到React中的骨架功能工作流中_Javascript_Reactjs - Fatal编程技术网

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)} ... />