React native Flatlist官方文档未呈现

问题描述 投票:0回答:1

我以官方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;
react-native
1个回答
0
投票

此问题是由于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

© www.soinside.com 2019 - 2024. All rights reserved.