每当我的应用程序安装完毕,我都会设置:
constructor(props) {
super(props);
this.state = {
loading: true
};
}
我有一个活动指示器,其动画直到loading: false
:
{this.state.loading &&
<View style={styles.loading}>
<ActivityIndicator color="red" animating={this.state.loading} />
</View>
}
我尝试在FlatList的文档中搜索一个方法会告诉我是否所有项目都已呈现,因此我可以调用this.setState({loading: false});
但是,我没有设法找到这样的方法。
有人知道如何在列表加载数据时显示我的活动指示器吗?
答案 0 :(得分:5)
你的问题不是原生相关的反应。这就是为什么你无法在本机文档中找到任何关于它的帮助。
假设您的数据异步进入并且参考了您的问题,您无法弄清楚此异步操作何时结束。
使用promises或async await或任何其他类似功能来确定此异步操作何时结束,然后使用setState禁用活动指示符,然后显示flatList。
如果您需要更多解释或清楚上述说明,请告诉我。