React Native -- 高性能列表组件

本章源码FasterListDemo,包括

  • FlatList高性能的简单列表组件
  • SwipeableFlatList 侧滑显示菜单组件,0.5版本之后新增
  • SectionList 需要分组显示功能的话用这个

如果之前没搭建过 RN 的开发环境可以先看这里

FlatList


高性能的简单列表组件,支持下面这些常用的功能:

  • 完全跨平台。
  • 支持水平布局模式。
  • 行组件显示或隐藏时可配置回调事件。
  • 支持单独的头部组件。
  • 支持单独的尾部组件。
  • 支持自定义行间分隔线。
  • 支持下拉刷新。
  • 支持上拉加载。
  • 支持跳转到指定行(ScrollToIndex)。

如果需要分组/类/区(section),请使用<SectionList>
一个最简单的例子:

<FlatList
  data={[{key: 'a'}, {key: 'b'}]}
  renderItem={({item}) => <Text>{item.key}</Text>}
/>

具体的使用和属性参照 Demo 和 FlatList文档 吧,不做重复介绍

SwipeableFlatList


React-Native 0.50+ 新添加SwipeableFlatList组件,是在FlatList基础上添加了侧滑显示菜单的功能,类似于侧滑删除效果。

它有FlatList所有的属性和方法,另外它还有三个自己的属性:

  1. bounceFirstRowOnMount: bool 是一个bool属性,默认是YES,表示第一次是否先滑一下FlatList的Item

2.maxSwipeDistance: number 或者 func, 必须要赋值,表示向左滑动的最大距离

3.renderQuickActions:func,必须要赋值,表示滑动显示的内容

使用方法参照 本章Demo

SectionList


之前 facebook 发布了高性能的列表组件Flatlist(可理解为优化后的Listview),后来又增加了一个SectionList。属于增强版的Flatlist,支持头部悬浮等,如果你的列表不需要分组(section),那么可以使用结构更简单的<FlatList>。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • #楠得一词#2017年第312天 行话 昨天和朋友聊现在的教练技术,不说正规与否,学完后有一大好处,你会进入用一个...
    楠得书写阅读 557评论 0 51
  • 本文参与#漫步青春#征文活动,作者:许琳琳,本人承诺,文章内容为原创,且未在其他平台发布 驻足 许琳琳 在这快节奏...
    不相信眼泪_ff49阅读 128评论 0 0
  • 上帝与人的关系?就像是养珠人和贝壳的关系。 他在贝壳中加入沙子,贝壳痛了,然后他说那痛苦是厉练,是活着的重要内容,...
    AnjuHuang阅读 481评论 0 2
  • 前端主要的任务是向用户获取数据或者向用户展示数据。现在我们还没有向服务器取数据,数据本身应该是存储在服务器上的。只...
    碧波之心阅读 1,320评论 0 2