当前位置:网站首页>虚拟列表key复用问题
虚拟列表key复用问题
2022-08-09 10:03:00 【高桥靓仔】
虚拟列表key复用问题
我使用的虚拟列表是@umijs/hooks提供的useVirtualList。
const { list, containerProps, wrapperProps } = useVirtualList(data, {
overscan: 30,
itemHeight: 48,
});
key= Math.random().toString().split('.')[1]//动态随机数
<div className="list" key={key}>
<div
{...containerProps}
style={
{ height: 404, overflowY: 'auto', overflowX: 'hidden' }}
>
<div {...wrapperProps}>
{list.map((ele, index) => (
<div className="item" key={ele.index}>
<div>{ele.data.name}</div>
</div>
))}
</div>
</div>
</div>
如果我们需要实现每次触发刷新、删减列表的话,不设置动态的key的话(react组件key复用)会出现bug:
(我们先滑动一下滚动条,然后再去操作更新列表数据源,会发现有bug,据我分析可能是刷新列表之后滚动条没有进行重置)
所以我在每次操作之后对list组件进行设置动态的key,来强制避免react复用list组件,来避免这个bug
边栏推荐
- 日期操作比较全面得代码
- 8.Properties property collection
- Attentional Feature Fusion
- Go-goroutine 的那些事
- 7.FileFilter interface
- 排序1:冒泡排序
- Source GBase database, oracle quote "ORA - 01000: beyond the shop open the cursor"
- 诡秘番外:在现代
- Technology Sharing | How to simulate real usage scenarios?mock technology to help you
- LeetCode56:合并区间 C语言解法,注解详细 一看就懂!
猜你喜欢
随机推荐
需求侧电力负荷预测(Matlab代码实现)
排序1:冒泡排序
日期操作比较全面得代码
实验室装修及改造工程程序简介
LeetCode179:最大数(C语言)代码简洁!
1. The concept of flow
8.Properties property collection
梦笔记0809
Celebrate ranked 18
GeoScene Pro 2.1下载地址与安装基本要求
8. Recursively traverse and delete cases
Secretive present: in modern times
Technology Sharing | Sending Requests Using cURL
2021-04-26QGIS3.10加载天地图影像(地图瓦片)的一种方法
EndNote使用指南
MySQL关于表的知识点,进来学习!
cannot import name ‘load_offloaded_weights‘ from ‘accelerate.utils‘ (/home/huhao/anaconda3/envs/huha
从源码分析UUID类的常用方法
MySQL全文索引
LeetCode(剑指 Offer)- 25. 合并两个排序的链表