reactjs 当我想显示超出屏幕限制的多个数据时,Expo中的FlatList出现问题

rn0zuynd  于 2023-02-08  发布在  React
关注(0)|答案(1)|浏览(92)

由于我有多个数据需要显示在屏幕上,这将超过屏幕限制,我无法向下滚动查看其他数据。我研究发现AreaSafeViewFlatList有助于解决这个问题。
我试着应用我的代码:

<SafeAreaView style = {styles.container}>
      <FlatList>
      <Text style = {styles.header}>{paramKey} results:</Text>
      {
        todoData.map((item,index) => {
          return(
            <View key ={index}>
              <Text style ={styles.text}>{item.Halal}</Text>
              <Text style ={styles.text}>{item.OH}</Text>
              <Text style ={styles.text}>{item.Description}</Text>
              <Text style ={styles.text}>{item.Location}</Text>
            </View>          
            )
        })
      }
     </FlatList> 
    </SafeAreaView>

申请后,我的数据显示不出来了,所以我参考了文档:https://reactnative.dev/docs/flatlist
它看起来像<FlatList> ends with />,而不是<FlatList> ends with </FlatList>
来自文档的示例:

<SafeAreaView style={styles.container}>
      <FlatList
        data={DATA}
        renderItem={({item}) => <Item title={item.title} />}
        keyExtractor={item => item.id}
      />
    </SafeAreaView>

我尝试结束<FlatList> with />,但似乎是IDE(Visual Studio代码)中的语法错误。在这种情况下如何正确使用<FlatList>

5hcedyr0

5hcedyr01#

Flatlist不接受children属性。请改用renderItem属性:

<SafeAreaView style = {styles.container}>
  <Text style = {styles.header}>{paramKey} results:</Text>
  <FlatList
    data={todoData}
    renderItem={({ item }) => (
      <View>
        <Text style ={styles.text}>{item.Halal}</Text>
        <Text style ={styles.text}>{item.OH}</Text>
        <Text style ={styles.text}>{item.Description}</Text>
        <Text style ={styles.text}>{item.Location}</Text>
      </View>     
    )}
  />
</SafeAreaView>

相关问题