直到几天前,我的LazyLoad实现一直运行良好,但现在似乎无法使其正常工作。
这是我的组件:
import React from 'react';
import LazyLoad from 'react-lazyload';
import './image.scss';
const Image = image => (
<LazyLoad height={200} offset={100} once>
<div
className="image-container"
orientation={image.orientation}>
<img
className="image"
src={image.url}
alt={image.alt}
/>
{'caption' in image &&
<div className="meta">
<p className="caption">{image.caption}</p>
<p className="order">{image.currentNumber}/{image.maxNumber}</p>
</div>
}
</div>
</LazyLoad>
)
export default Image
在 App.js 中,它被这样调用:
render() {
return (
<div className="wrapper">
<GalleryTop details={this.state.gallery_top} />
{this.state.images.map((image, index) => <Image key={index} {...image} /> )}
</div>
)
}
但它不能工作!这是演示环境: https://gifted-kare-1c0eba.netlify.com/
(检查检查器中的网络选项卡,查看所有图像是否从初始加载中请求)
还有一个视频在这里
你知道我做错了什么吗?
提前致谢, 莫尔滕
react-lazyload
并不是很熟悉,但从阅读该仓库的自述文件来看,可能需要将img
作为LazyLoad
的直接子元素。你可以试一下这个方法吗? - Jackyef