首页 > 解决方案 > 仅在有数据的情况下如何呈现项目?

问题描述

我正在使用 axios 从链接获取 json 数据,我从 componentWillMount 函数调用该链接,然后将数据存储在状态中,我的渲染方法包含一个应该显示该数据的 FlatList,一切正常,我只想要那个我可以设定一个条件,我希望我的渲染方法仅在状态中有一些数据时才显示 Faltlist,否则会显示一条简单的消息,说没有要显示的数据,我不知道为什么它不适用于我的代码,可以帮忙:

这是我在渲染方法中的平面列表:

<FlatList
        data = {this.state.data}
        renderItem = {this.renders}
        keyExtractor ={this.keyextractor}
        />

这是 flatlist 调用的渲染函数:

renders({item}){
if(item.length > 0)
{
    return(
      <Itemz
      offer={item}
      />
  );
}else{
return(
    <View><Text>No Data to show</Text></View>
);
  }

标签: react-native

解决方案


你可以尝试使用 FlatList prop ListEmptyComponent,当data为空时渲染。

https://facebook.github.io/react-native/docs/flatlist#listemptycomponent


推荐阅读