我正在浏览StackOverflow,寻找遇到我同样问题的人,但是找不到太多。我从后端抓取平面列表数据,我需要空文本占位符组件消失时,平面列表不是空的,但它总是停留在那里,永远不会消失,即使在平面列表中正确获取数据。我该如何解决这个问题?Ps.当将虚拟数据分配给平面列表时,不会发生此问题。
<FlatList
ListEmptyComponent={() => (<Text style={styles.emptyListText}>No upcoming trips to show.</Text>)}
data={trips}
renderItem={({ item }) => <MyTripsPostItem post={item} onPress={() => navigation.navigate("Post Screen")}
/>}
/>
我所做的是,我检查查询是否正在加载,如果不是,然后我显示我的视图ListEmptyComponent。
ListEmptyComponent={
!isLoading && (
<View style={styles.containerEmptyList}>
// things
</View>
)
}
我使用react-query,它提供了一个"isLoading"变量,但也可以在函数查询中使用useState
编辑:这个道具也不需要() =>
功能。
用trips.length
代替trips
// checks if trips size is more than 0
!trips.length && <ListEmptyComponent />
,
// checks if trips is undefined or null
trips && <ListEmptyComponent />
在您的情况下,我假定您设置了默认值旅行到这是empty array
/[]
,所以,它不是undefined
或null
。