我的列表中同时包含图片和文字说明。
我想找到一种方法来提高列表的性能,并从缓存列表中删除加载的多余图像,并使列表不繁重。
答案 0 :(得分:3)
在本机反应中有一个叫做PureComponent的东西。如果将FlatList
项目创建为PureComponent
,则可以看到很多改进。在更改数据之前,它不会重新呈现项目。
类似这样的东西:
class MyListItem extends React.PureComponent {
}
Nino9612 react-native-optimized-flatlist建议的库也使用相同的概念,因为您可以看到其FlatListItem的代码
答案 1 :(得分:2)
FlatList组件应该是在您的应用程序中显示大量数据的高性能解决方案。它仅根据当前可见的项目显示列表中的某些项目。 也就是说,有一些技巧可以使其变得更快/更轻
我确定您还有更多可以做的事情,但这就是我的意思:)
答案 2 :(得分:1)
有多个npm软件包有望改善默认的react-native平面列表的性能,例如https://www.npmjs.com/package/recyclerlistview#demo或https://github.com/stoffern/react-native-optimized-flatlist。我没有测试它们,但它们似乎可以改善整体性能。如果您不是使用本地数据,而是使用从网络接收的数据,则可能应该查看分页以提高列表速度和(移动)数据使用率