,可以通过以下步骤实现:
npm install react-native-flatlist --save
import React, { Component } from 'react';
import { View, FlatList } from 'react-native';
import FlatListItem from './FlatListItem'; // 自定义的列表项组件
state = {
data: [
{ id: 1, title: 'Item 1' },
{ id: 2, title: 'Item 2' },
{ id: 3, title: 'Item 3' },
// 其他数据项...
],
activeIndex: 0,
};
render() {
return (
<View style={{ flex: 1 }}>
<FlatList
data={this.state.data}
renderItem={({ item, index }) => (
<FlatListItem
item={item}
index={index}
isActive={index === this.state.activeIndex}
onPress={() => this.setState({ activeIndex: index })}
/>
)}
keyExtractor={item => item.id.toString()}
horizontal
contentContainerStyle={{ alignItems: 'center' }}
/>
</View>
);
}
import React from 'react';
import { Text, TouchableOpacity, StyleSheet } from 'react-native';
const FlatListItem = ({ item, index, isActive, onPress }) => (
<TouchableOpacity
style={[styles.item, isActive && styles.activeItem]}
onPress={onPress}
>
<Text style={styles.title}>{item.title}</Text>
</TouchableOpacity>
);
const styles = StyleSheet.create({
item: {
padding: 10,
margin: 5,
borderRadius: 5,
backgroundColor: '#e0e0e0',
},
activeItem: {
backgroundColor: '#ff9800',
},
title: {
fontSize: 16,
fontWeight: 'bold',
color: '#333',
},
});
export default FlatListItem;
通过以上步骤,你可以创建一个居中的React本地FlatList项目,并且始终保持活动状态。在这个项目中,FlatList组件用于渲染列表,自定义的列表项组件FlatListItem根据isActive属性来设置样式。你可以根据需要修改样式和数据源,以满足你的具体需求。
腾讯云相关产品推荐:无
请注意,以上答案仅供参考,具体实现方式可能因个人需求和项目配置而有所差异。
领取专属 10元无门槛券
手把手带您无忧上云