javascript - 如何在 React 中显示页面之前加载所有图像?

标签 javascript reactjs

我正在尝试找到一个不使用 jQuery 的更现代的解决方案,因为我正在使用 React(特别是 Gatsbyjs)。

我有一个网站,其中包含多个包含高分辨率图像的图像轮播。

问题是每个图像轮播一次只显示一张图像,因此只有当用户导航到下一张图像时才会获取图像,这会导致加载外观不稳定。

我尝试过使用 onLoadload 事件监听器进行在线研究,但到目前为止似乎都不起作用,因为它们只加载轮播当前显示的图像,而不是轮播中的所有图像

如果有一种方法可以先加载所有图像,然后将状态设置为 true,只有在状态为 true 后,剩下的 DOM 才会出现在屏幕上,那就完美了。

有什么建议吗?谢谢。

相关网站:https://dev--yachtgamechanger.netlify.com/

最佳答案

正如 Lonnie Best 所说,我最终使用 Promise.all() 来捕获图像的负载。

以防万一其他人想查看: https://codesandbox.io/s/react-image-preload-ptosn

关于javascript - 如何在 React 中显示页面之前加载所有图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60847095/

相关文章:

javascript - 禁用特定选项 bootstrap-multiselect

javascript - Firebase 安全规则自定义字段

javascript - React - 在组件状态下向数组内的对象添加属性

reactjs - 如何从 redux-persist 中移除一个 reducer

javascript - 将 AWS Chime 集成到 Java 应用程序中

reactjs - 如何删除箭头文本字段编号?

javascript - ReactJS - .setState 成功调用后其他属性变得未定义

javascript - jQuery ajaxForm插件双文件上传

javascript - 使用 Object.assign 替换状态

javascript - 加速 Gatsby 性能