我以React官方文档中的示例为例进行了应用,只是更改了一些根本不重要的内容,并添加了<Text>
,以便确保该组件可以在我的父组件中正确导出。
显示带有List problem
的部分,但列表本身不显示。我在Scollview
之前使用映射DATA
测试了Flatlist
,但工作正常,但Flatlist不起作用。
import React from "react";
import { View, Text, SafeAreaView, FlatList, StyleSheet } from "react-native";
function Item({ title }) {
return (
<View style={styles.item}>
<Text style={styles.title}>{title}</Text>
</View>
);
}
const ListOfTrips = () => {
const DATA = [
{
id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
title: 'First Item',
},
{
id: '3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
title: 'Second Item',
},
{
id: '58694a0f-3da1-471f-bd96-145571e29d72',
title: 'Third Item',
},
];
return (
<View>
<Text> List problem </Text>
<SafeAreaView style={styles.container}>
<FlatList
data={DATA}
renderItem={({ item }) => <Item title={item.title} />}
keyExtractor={item => item.id}
/>
</SafeAreaView>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: 250,
},
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});
export default ListOfTrips;
答案 0 :(得分:1)
此问题是由于 SafeAreaView 放置不正确。将您的退货重构为
return (
<SafeAreaView>
<Text> List problem </Text>
<FlatList
data={DATA}
renderItem={({ item }) => <Item title={item.title} />}
keyExtractor={item => item.id}
/>
</SafeAreaView>
);
SafeAreaView 应该用作屏幕的根标签,以避免在缺口设备中视图未对准。 请参考React-Native SafeAreaView