react如何实现预加载图片,首页提前加载全部图片,并显示进度条。

新手上路,请多包涵

react如何实现预加载图片,首页提前加载全部图片,并显示进度条。

阅读 9.5k
2 个回答

搞个数组把所有img标签记上,然后遍历去new Image() onload 就 ++。

可以自己整理,也可以通过工具,比如说gulp,批量跑一下,然后输出一个js

['https://www.lilnong.top/static/img/avator/avator-0.jpg','https://www.lilnong.top/static/img/avator/avator-1.jpg'].forEach((v,idx,arr)=>{
    var img = new Image();
    img.src = v;
    img.onload = ()=>{
        arr.successLength = (arr.successLength || 0)+1;
        console.log(`进度:${arr.successLength/arr.length}`)
    }
})

image.png

新手上路,请多包涵

其实一开始找到这个方案了,觉得好奇怪....

怎么说呢,不够高大上尚,然后就没采用,

找了一大圈才发现,只有这个方案比较简单了,唉。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题