【问题标题】:React Native FlatList ListEmptyComponent always showing even if not emptyReact Native FlatList ListEmptyComponent 即使不为空也总是显示
【发布时间】:2021-12-15 04:16:00
【问题描述】:

我正在浏览 StackOverflow 以寻找遇到同样问题的人,但找不到太多。我正在从后端获取平面列表数据,并且当平面列表不为空时,我需要空文本占位符组件消失,但是即使在平面列表中正确获取数据,它也始终保持在那里并且永远不会消失。我该如何解决这个问题? 附言。将虚拟数据分配给平面列表时,不会发生此问题。

         <FlatList
            ListEmptyComponent={() => (<Text style={styles.emptyListText}>No upcoming trips to show.</Text>)}
            data={trips}
            renderItem={({ item }) => <MyTripsPostItem post={item} onPress={() => navigation.navigate("Post Screen")}
            />}
         />

【问题讨论】:

  • trips &amp;&amp; &lt;FlatList .../&gt; 怎么样?
  • 似乎对我不起作用
  • 是有错误还是什么?我经常使用这种符号。如果trips 为空或未定义,react-native 应该忽略它。如果没有,我会尝试trips ? &lt;FlatList .../&gt; : &lt;&gt;&lt;/&gt; 或其他东西。

标签: react-native react-native-flatlist react-component


【解决方案1】:

我所做的是检查查询是否正在加载,如果没有,则显示我的 View ListEmptyComponent。

  ListEmptyComponent={
        !isLoading && (
          <View style={styles.containerEmptyList}>
        // things
          </View>
        )
      }

我使用提供“isLoading”变量的 react-query,但您可以使用 useState 在函数查询中执行相同操作

编辑:该道具也不需要函数() =&gt;

【讨论】:

  • 感谢您的回答。你介意分享一个实际的例子吗?
猜你喜欢
  • 2022-01-14
  • 2022-12-18
  • 2022-01-22
  • 2019-03-21
  • 2019-05-14
  • 2022-08-14
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
相关资源
最近更新 更多