React native React Native FlatList不会使用自定义renderItem垂直滚动,并且无法查看列表中的所有项目
我已经创建了一个屏幕,将图像作为整个屏幕的背景。我想用FlatList显示一个数组列表。我已经为FlatList项创建了一个单独的函数组件作为cardItem,并将其包装在React native React Native FlatList不会使用自定义renderItem垂直滚动,并且无法查看列表中的所有项目,react-native,react-native-android,expo,react-native-flatlist,React Native,React Native Android,Expo,React Native Flatlist,我已经创建了一个屏幕,将图像作为整个屏幕的背景。我想用FlatList显示一个数组列表。我已经为FlatList项创建了一个单独的函数组件作为cardItem,并将其包装在元素中。我在很多网站上搜索并阅读了很多问题的答案,但是我的平面列表没有垂直滚动,最终我无法查看ArrayList中的一些项目。以下是我的一些示例代码: <View style={{ width: "100%", height: "100%", alignItem
元素中。我在很多网站上搜索并阅读了很多问题的答案,但是我的平面列表没有垂直滚动,最终我无法查看ArrayList中的一些项目。以下是我的一些示例代码:
<View
style={{
width: "100%",
height: "100%",
alignItems: "stretch",
flexDirection: "column",
position: "absolute",
justifyContent: "center"
}}
>
<View
style={{
flex: 2,
alignItems: "center",
justifyContent: "center",
alignSelf: "center"
}}
>
<Text
style={{ fontSize: 22, fontWeight: "bold", color: "#ffffff" }}
>
My Events List
</Text>
</View>
<View
style={{
flex: 8,
alignItems: "center",
justifyContent: "center",
paddingHorizontal: 15
}}
>
<FlatList
style={{ width: "100%", marginBottom: 15 }}
data={eventsCreatedList}
keyExtractor={item => {
return item.id;
}}
renderItem={({ item }) => <EventsCreatedListItem item={item} />}
/>
</View>
</View>
我的活动列表
{
返回item.id;
}}
renderItem={({item})=>}
/>
请告诉我哪里出了问题。提前感谢各位 我在尝试了这个示例,它正在使用平面列表并以滚动视图显示。请看一看
import React from 'react';
import { SafeAreaView, View, FlatList, StyleSheet, Text } from 'react-native';
import Constants from 'expo-constants';
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',
},
{
id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
title: 'Fourth Item',
},
{
id: '3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
title: 'Fifth Item',
},
{
id: '58694a0f-3da1-471f-bd96-145571e29d72',
title: 'Sixth Item',
},
{
id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
title: 'Seventh Item',
},
{
id: '3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
title: 'Eighth Item',
},
{
id: '58694a0f-3da1-471f-bd96-145571e29d72',
title: 'Nineth Item',
},
];
function Item({ title }) {
return (
<View style={styles.item}>
<Text style={styles.title}>{title}</Text>
</View>
);
}
export default function App() {
return (
<SafeAreaView style={styles.container}>
<FlatList
data={DATA}
renderItem={({ item }) => <Item title={item.title} />}
keyExtractor={item => item.id}
/>
</SafeAreaView>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: Constants.statusBarHeight,
},
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});
从“React”导入React;
从“react native”导入{SafeAreaView,View,FlatList,StyleSheet,Text};
从“expo常量”导入常量;
常数数据=[
{
id:'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
标题:“第一项”,
},
{
id:'3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
标题:“第二项”,
},
{
id:'58694a0f-3da1-471f-bd96-145571e29d72',
标题:"第三项",,
},
{
id:'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
标题:“第四项”,
},
{
id:'3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
标题:"第五项",,
},
{
id:'58694a0f-3da1-471f-bd96-145571e29d72',
标题:"第六项",,
},
{
id:'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
标题:"第七项",,
},
{
id:'3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
标题:"第八项",,
},
{
id:'58694a0f-3da1-471f-bd96-145571e29d72',
标题:“第九项”,
},
];
函数项({title}){
返回(
{title}
);
}
导出默认函数App(){
返回(
}
keyExtractor={item=>item.id}
/>
);
}
const styles=StyleSheet.create({
容器:{
弹性:1,
marginTop:Constants.statusBarHeight,
},
项目:{
背景颜色:“#f9c2ff”,
填充:20,
Margin:8,
marginHorizontal:16,
},
标题:{
字体大小:32,
},
});
看来您的父视图的样式导致了问题,您可以包含父视图吗?@SuleymanSah感谢您指导我进一步澄清问题片段。我已经编辑了这个问题。现在请看一看!我会一个接一个地删除一些样式并尝试,例如,您可以尝试删除位置:“绝对”并尝试。您可以发布一个可复制的代码吗?这很好用。可能还有更多的家长,或者请展示您的组件events创建列表@SuleymanSah谢谢您的建议。我花了一些时间删除和修改视图
的样式,它包装了平面列表
,并进行了一次更改flex:5
,我的平面列表开始滚动。在所有这些工作之后,我们发现这是因为样式位置:“绝对”
使我的整个视图
占据了与屏幕一样多的空间。当我使用flex:5
限制此视图时,它对我来说非常好!!你能详细说明为什么要使用
?我的代码出了什么问题?