首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于图像网格的react-lazy-load

用于图像网格的react-lazy-load
EN

Stack Overflow用户
提问于 2018-12-25 15:16:11
回答 1查看 728关注 0票数 1

我的react应用程序中有图像网格。我使用sprites来显示div网格的图像。每个10个div使用一个单独的url来显示缩略图。我要展示的拇指大概有16000个。我正在尝试使用react-lazy-load。这就是我尝试过的

代码语言:javascript
复制
<LazyLoad height={200} offset={100}>
                                    <div className="thumb">
                                        <div className="thumb-inner">
                                            <div className="image" style={{backgroundImage: `url('${sprite.url}')`, backgroundPositionX: -((i % 10) *100) + "px", backgroundPositionY: -(82 * Math.floor(i/10))}}></div>
                                            <div className="timestamp">01:15:12</div>
                                        </div>
                                    </div>
                                    </LazyLoad>

这并没有像预期的那样执行。当与之对应的div在viewport中时,我希望它调用image url。目前,所有的图像urls都是同时调用的。

EN

回答 1

Stack Overflow用户

发布于 2019-07-21 08:21:22

下载照片前,高度等于0。因此,您必须为照片的父对象定义高度。

代码语言:javascript
复制
links.map(item => {
return (<div className="your-grid-container">
   <LazyLoad height={200} offset={100}>
        <div className="your-image-container">
            <img link={item}/>
        </div>
    </LazyLoad
</div>)
})


.your-grid-container{
   display : grid;
}

.your-image-contaner{
   height : 200px; // bingoooo, now  grid container can calculate correctly
}

Demo -查看网络控制台以更好地了解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53920181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档