android - 如果使用 initialNumToRender 获取更大的值,FlatList 会挂起 UI
问题描述
我创建了联系人屏幕,右侧有一个字母字典字符,如果用户选择任何我需要将平面列表移动到该联系人的字符。
但以前我发现它不起作用,因为 flatlist 没有在开始时加载所有数据,如果我试图移动到 flatlist 没有加载的数据,什么都不会发生。
所以暂时我找到了使用 initialNumToRender 内部方法的解决方案,在该方法中我发送了总计数,它可以工作,但是由于我的记录大约 200,它被挂起并且在切换之间需要时间
有没有更好的方法来达到同样的效果?
我像这样使用了flatList
<FlatList
ref={ref => (this._mainList = ref)}
initialNumToRender={this.props.data.length}
scrollEventThrottle={16}
onViewableItemsChanged={this.onViewableItemsChanged}
extraData={this.props.data}
getItemLayout={this.getItemLayout}
keyExtractor={item => item}
getItemLayout={this.props.getItemLayout}
showsHorizontalScrollIndicator={false}
showsVerticalScrollIndicator={false}
{...this.props}
/>
解决方案
正如这里已经写的:FlatList
initialNumToRender :这应该足以填满屏幕,但仅此而已。
推荐阅读
- java - How to fix jOOQ code generation tool error?
- linux - 从具有父目录的每个子文件夹中复制特定文件
- javascript - PortQry 与 ElectronJS 桌面应用程序的集成
- c# - 尝试在 SignalR 内的组中添加客户端但不工作
- java - 科特林。Java 和 PHP 性能与 MySQL
- android - ConstraintLayout android中的链接链
- typo3 - 如何将字符串与 TYPO3 Fluid 中的变量进行比较
- linq - linq多对多,如何清除“加入”表?
- apache - 如何从虚拟主机将 http 重定向到 ubuntu 中的 https?
- android - webview中的虚拟键盘重叠输入