React Native使用FlatList渲染列表

本文介绍了如何在React Native中使用FlatList组件来渲染列表,详细讲解了引入组件、编写列表组件的步骤,并提供了注意事项,强调了FlatList需设置keyExtractor属性以避免警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.引入FlatList组件

import { FlatList } from 'react-native';

2.编写列表组件

class DeviceList extends Component {
	//转换时间戳
	getTime = (timeStamp) => {
		var date=new Date(parseInt(timeStamp)* 1000);
		var year=date.getFullYear();
		var mon = date.getMonth()+1;
		var day = date.getDate();
		var hours = date.getHours();
		var minu = date.getMinutes();
		var sec = date.getSeconds();

		return mon+'-'+day;
	}
	render() {
		return (
			<FlatList
				data={this.props.deviceList}
				keyExtractor={(item, index) => index.toString()}
				renderItem={({item,index}) => {
					return (
						<View style= {{paddingLeft: 20,paddingRight: 20,paddingTop:15,paddingBottom: 15,borderBottomColor: "#ddd",borderBottomWidth: 1}}>
							<View style={{flexDirection: "row", justifyContent: "space-between"}}>
								<Text style={{color:"#666"}}>{item.thingName}</Text>
								<Text style={{color:"#666"}}>{this.getTime(item.statusUpdateTime)}</Text>
							</View>
							<View style={{flexDirection: "row", justifyContent: "space-around", marginTop: 10}}>
								<View style={{alignItems: "center"}}>
									<Text style={{color: "#4C84B7", fontSize: 18}}>Low</Text>
									<Text style={styles.ioConfig}>DI_0</Text>
									<Switch/>
									<Text style={styles.ioConfig}>DI_1</Text>
								</View>
								<View style={{alignItems: "center"}}>
									<Text style={{color: "#4C84B7", fontSize: 18}}>Low</Text>
									<Text style={styles.ioConfig}>DO_0</Text>
									<Switch/>
									<Text style={styles.ioConfig}>DO_1</Text>
								</View>
							</View>
						</View>)
				}}
			/>
		);
	}
}

3.效果图

注意事项

FlatList标签中必须加上keyExtractor={(item, index) => index.toString()}属性,否则会出现没有设置key值的警告

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值