ListView和FlatList有什么区别?

时间:2017-06-12 23:36:34

标签: reactjs react-native

根据Facebook的文档,

  

ListView - 专为高效显示而设计的核心组件   垂直滚动更改数据的列表。

     

FlatList - 用于呈现简单,扁平列表的高性能接口。

看起来效率都很高。从另一个中选择一个时我们应该考虑什么?

1 个答案:

答案 0 :(得分:32)

FlatList - 与ListView相比,性能更高。一旦项目数量变大,ListView渲染就会变慢。 FlatList显着提高了内存使用率和效率(特别是对于大型或复杂的列表),同时还显着简化了道具 - 不再需要dataSource!

功能
Flatlist包含了许多新功能,可以直接处理大多数用例:

  • 滚动加载(onEndReached)。
  • 拉动刷新(onRefresh / refresh)。
  • 可配置可见性(VPV)回调(onViewableItemsChanged / viewabilityConfig)。
  • 水平模式(水平)。
  • 智能项目和部分分隔符。
  • 多列支持(numColumns)
  • scrollToEnd,scrollToIndex和scrollToItem
  • 更好的流程打字。

FlatList仍然缺少一些功能,比如粘贴标题,但它的发展速度很快。 ListView是deprecated

更新:ListView现在是 deprecated ,而立即列表中的Sticky Headers现在正在工作