react-native - 内部的图像反应原生 FlatList 淡入,而不是仅仅被预渲染
问题描述
我有一个 FlatList 可以渲染一堆图像,但是当我滚动而不是已经渲染时它们会淡入。我认为 FlatList 的 windowSize 属性使得一些东西已经呈现在视口之外。
<FlatList
windowSize={8}
numColumns={columns}
maxToRenderPerBatch={4}
data={cardObjects}
renderItem={itemRender}
keyExtractor={keyExtractor}
/>
图像组件如下所示:
<Image
source={{
uri: props.uri,
}}
style={{width: '100%', aspectRatio: ASPECT_RATIO}}
/>
我希望图像已经被渲染,这样当你向下滚动时它就已经存在了。
解决方案
Flatlist 仅呈现屏幕上的项目。
您可以使用这 2 个道具进行预渲染
initialNumToRender={20}
maxToRenderPerBatch={20}
按照 react-native 官方文档中的react-native-fast-image
建议,在列表中渲染图像时再进行一项优化
推荐阅读
- python - 使用列表值作为后续键访问字典值
- batch-file - 批处理脚本中的 XCOPY - 避免文件或目录提示
- sql-server - 动态传递值时出现 T-SQL 错误消息 207
- vuejs2 - vue2-editor 如何使用 vee-validate
- html - React 中两个类之间的转换 - React 路由问题
- android - 在没有 notifyDataSetChange 的情况下刷新列表?
- ios12 - layoutMargins 在 iPhone 和 iPad 上不一致
- swift - 将坐标存储到 Firebase 中的实时数据库
- c - 将睡眠与 Pthread 一起使用时在 C 中出现分段错误
- go - 在 Go 中解组到结构时的奇怪行为