[RN] React Native 下列表 FlatList 和 SectionList
1、FlatList
FlatList组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同。
FlatList更适于长列表数据,且元素个数可以增删。和ScrollView不同的是,FlatList并不立即渲染所有元素,而是优先渲染屏幕上可见的元素。
FlatList组件必须的两个属性是data和renderItem。data是列表的数据源,而renderItem则从数据源中逐个解析数据,然后返回一个设定好格式的组件来渲染。
示例代码:
import React, {Component} from "react";
import {FlatList, StyleSheet, Text, View} from "react-native";
var data = [
{key: "黑猫警长2", val: "美国"},
{key: "我是特种兵", val: "中国"},
{key: "变形金刚2", val: "美国"},
{key: "流浪地球", val: "中国"},
];
export default class HelloWorld extends Component {
render() {
return (
<View style={styles.container}>
<FlatList
data={data}
renderItem={
({item}) =>
<Text style={styles.item}>{item.key} [{item.val}]</Text>
}
/>
</View>
)
}
}
const styles = StyleSheet.create(
{
container: {
flex: ,
paddingTop: ,
backgroundColor: "#cccccc",
},
item: {
padding: ,
fontSize: ,
height: ,
}
}
);
效果如下:

2、SectionList
适用于要渲染的是一组需要分组的数据,也许还带有分组标签的
示例代码:
import React, {Component} from "react";
import {SectionList, StyleSheet, Text, View} from "react-native";
var data = [
{title2: '中国', data: ['万里长城',"故宫","颐和园"]},
{title2: '美国', data: ['白宫',"拉斯维加斯"]},
];
export default class HelloWorld extends Component {
render() {
return (
<View style={styles.container}>
<SectionList sections={data}
renderItem={
({item}) =>
<Text style={styles.item}>{item}</Text>
}
renderSectionHeader={({section}) => <Text
style={styles.sectionHeader}>{section.title2}</Text>}
keyExtractor={(item, index) => index}
/>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: ,
paddingTop:
},
sectionHeader: {
paddingTop: ,
paddingLeft: ,
paddingRight: ,
paddingBottom: ,
fontSize: ,
fontWeight: 'bold',
backgroundColor: 'rgba(247,247,247,1.0)',
},
item: {
padding: ,
fontSize: ,
height: ,
},
})
效果如下:

本博客地址: wukong1688
本文原文地址:https://www.cnblogs.com/wukong1688/p/10804252.html
转载请著名出处!谢谢~~
[RN] React Native 下列表 FlatList 和 SectionList的更多相关文章
- [RN] React Native 下实现底部标签(支持滑动切换)
上一篇文章 [RN] React Native 下实现底部标签(不支持滑动切换) 总结了不支持滑动切换的方法,此篇文章总结出 支持滑动 的方法 准备工作之类的,跟上文类似,大家可点击上文查看相关内容. ...
- [RN] React Native 下拉放大动画
React Native 下拉放大动画 经测试,无法运行 https://www.jianshu.com/p/1c960ad75020
- [RN] React Native 下实现底部标签(不支持滑动切换)
底部标签是现在App的基本菜单实现 下面分别用 createBottomTabNavigator 和 createMaterialBottomTabNavigator 两种方法分别实现底部菜单 但此两 ...
- [RN] React Native 常见基本问题归纳总结
[RN] React Native 常见基本问题归纳总结 本问题总结涉及到版本为: "react": "16.8.3","react-native& ...
- [RN] React Native 幻灯片效果 Banner
[RN] React Native 幻灯片效果 Banner 1.定义Banner import React, {Component} from 'react'; import {Image, Scr ...
- [RN] React Native 实现 类似QQ 登陆页面
[RN] React Native 实现 类似QQ 登陆页面 一.主页index.js 项目目录下index.js /** * @format */ import {AppRegistry} from ...
- [RN] React Native 实现图片预览
[RN] React Native 实现图片预览 效果预览: 代码如下: 'use strict'; import React, {Component} from 'react'; import {I ...
- [RN] React Native 关闭所有黄色警告
[RN] React Native 关闭所有黄色警告 console.ignoredYellowBox = ['Warning: BackAndroid is deprecated. Please u ...
- [RN] React Native 常用命令行
[RN] React Native 常用命令行 1.查看当前版本 react-native --version 或 react-native -v 2.创建指定版本的React Native项目 1) ...
随机推荐
- Java调用Http/Https接口(5)--HttpAsyncClient调用Http/Https接口
HttpAsyncClient是HttpClient的异步版本,提供异步调用的api.文中所使用到的软件版本:Java 1.8.0_191.HttpClient 4.1.4. 1.服务端 参见Java ...
- 2019 朗玛信息java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.朗玛信息等公司offer,岗位是Java后端开发,最终选择去了朗玛信息. 面试了很多家公司,感觉大部分公司考察的点 ...
- 2019 浪潮java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.浪潮等公司offer,岗位是Java后端开发,因为发展原因最终选择去了浪潮,入职一年时间了,之前面试了很多家公 ...
- 换个语言学一下 Golang (9)——结构体和接口
基本上到这里的时候,就是上了一个台阶了.Go的精华特点即将展开. 结构体定义 上面我们说过Go的指针和C的不同,结构体也是一样的.Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉. 简单来讲,G ...
- SqlDataSource控件超时的困惑
想用最简单的SqlDataSource控件完成对一个记录数很多的表的查询操作,结果出现超时异常,找了些解决方法都不奏效,后来在www.codeproject.com查到高手也放弃了用控件的方法,于 ...
- 【转】StackTraceElement获取方法调用栈的信息
本文链接:https://blog.csdn.net/hp910315/article/details/52702199 一.什么是StackTrace StackTrace(堆栈轨迹)存放的就是方法 ...
- Android为TV端助力之反射基本知识
- Java 读取控制台输入
方式1:InputStreamReader+BufferedReader package my_package; import java.io.BufferedReader; import java. ...
- PageRank网页价值算法
一.简介 PageRank是Google提出的算法,用于衡量特定网页相对于其它网页而言的重要程度.是Google创始人拉里.佩奇和谢尔盖.布林于1997年创造的,用于实现将链接价值概念作为排名的重要因 ...
- 得到List<HashTable>里面的list然后取list的某一项
//得到List<HashTable>里面的listUnFix然后取listUnFix判断tempfix里面得值 List<Hashtable> list = new List ...