[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) ...
随机推荐
- 你也可以写个聊天程序 - C# Socket学习1
原文:你也可以写个聊天程序 - C# Socket学习1 简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单 ...
- C#——零散学习1
C#——零散学习1 //结构体(与C语言相似) struct Position { public float x; public float y; //不一定需要把结构体成员设置为pu ...
- mysql存储过程简单例子
1.之前经常在oracle数据库中使用存储过程,换到mysql后用的不多,但是有时候也用,大致记录一下,基本和oracle的一样. CREATE DEFINER = `root`@`%` PROCED ...
- AWS--Lamdba
分享一个Lambda相关的连接 https://blog.csdn.net/m0_37204491/article/details/72829477
- Qt Creator 的下载与安装
一.Qt和Qt Creator的区别 Qt是C++的一个库,或者说是开发框架,里面集成了一些库函数,提高开发效率. Qt Creator是一个IDE,就是一个平台,一个开发环境,类似的比如说VS,也可 ...
- IDEA中调试时F8,F7快捷键失效
idea中调试时F8,F7快捷键失效 原因:相关软件的快捷键占用了F8,F7,如我的有道词典占用F8了这个快捷键,导致idea调试时不能使用F8,改变有道词典的快捷键即可.
- mysql高级用法(1)- mariadb的主从搭建
Mariadb介绍: mariadb是mysql的一个分支,需要进一步了解的参考:https://mariadb.org/ 安装参考教程:window版安装:Mariadb 介绍 1 (安装) lin ...
- day 03 作业 预科
目录 作业 1.简述变量的组成 2.简述变量名的命名规范 3.简述注释的作用 4.使用turtle库构造一幅图,贴在markdown文档中 作业 1.简述变量的组成 变量由变量名.赋值符号.变量值所组 ...
- Shell 行遍历命令行的输出结果
对于命令行输出的结果,如果要遍历,一般都是用for循环遍历,具体语法为: for line in `ls` do dosomethingdone 此时对于ls这类语句的输出结果,在遍历的时候会 ...
- Kubernetes集群开启Firewall
关于端口的官方说明:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ k8s ...