import { View, Text, StyleSheet, TouchableOpacity } from "react-native";
import React from "react";
const ListItem = ({ item }) => {
return (
<TouchableOpacity style={styles.item}>
<Text style={styles.title}>{item.title}</Text>
</TouchableOpacity>
);
};
const styles = StyleSheet.create({
item: {
backgroundColor: "#f9c2ff",
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});
export default ListItem;
import { View, Text, StyleSheet } from "react-native";
import React from "react";
const ListHeader = () => {
return (
<View style={styles.header}>
<Text>Header</Text>
</View>
);
};
const styles = StyleSheet.create({
header: {
backgroundColor: "lightgreen",
paddingVertical: 15,
borderBottomWidth: StyleSheet.hairlineWidth,
borderColor: "#e3e3e3",
alignItems: "center",
},
});
export default ListHeader;
import { View, Text, StyleSheet } from "react-native";
import React from "react";
const ListFooter = () => {
return (
<View style={styles.footer}>
<Text>Footer</Text>
</View>
);
};
const styles = StyleSheet.create({
footer: {
backgroundColor: "aqua",
paddingVertical: 15,
borderBottomWidth: StyleSheet.hairlineWidth,
borderColor: "#e3e3e3",
alignItems: "center",
},
});
export default ListFooter;
import {
StyleSheet,
SafeAreaView,
FlatList,
RefreshControl,
} from "react-native";
import React from "react";
import ListItem from "./src/components/ListItem";
import ListHeader from "./src/components/ListHeader";
import ListFooter from "./src/components/ListFooter";
const DATA = [
{
id: "1",
title: "First Item",
},
{
id: "2",
title: "Second Item",
},
{
id: "3",
title: "Third Item",
},
{
id: "4",
title: "First Item",
},
{
id: "5",
title: "Second Item",
},
{
id: "6",
title: "Third Item",
},
{
id: "7",
title: "First Item",
},
{
id: "8",
title: "Second Item",
},
{
id: "10",
title: "Third Item",
},
{
id: "11",
title: "Second Item",
},
{
id: "12",
title: "Third Item",
},
];
const App = () => {
return (
<SafeAreaView style={styles.container}>
<FlatList
data={DATA}
renderItem={({ item }) => <ListItem item={item} />}
keyExtractor={(item) => item.id}
ListHeaderComponent={<ListHeader />}
ListFooterComponent={<ListFooter />}
refreshControl={
<RefreshControl refreshing={true} onRefresh={() => {}} />
}
/>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
export default App;
“FlatList” için bir görüş