firebase - 如何使用 FirebaseAnimatedList 和 SplashScreen?
问题描述
我正在从 firebase 获取数据并将其显示在列表中。但是一旦页面打开,它就会有几秒钟的空白,因为获取数据和显示需要时间。所以我想显示一个启动/加载屏幕,并在后台加载另一个页面,使其准备好获取数据。因此,一旦显示该页面,它就不会为空,而是显示获取的内容。请帮我怎么做?
这是我显示从 firebase 获取的列表的方式。我用
FirebaseAnimatedList.
body: FirebaseAnimatedList(
query: itemRef,
itemBuilder: (BuildContext context, DataSnapshot snapshot,
Animation<double> animation, int index) {
return Text('It work ');
}),
解决方案
您可以使用 FutureBuilder,一旦您的数据被加载,请移除 SplashScreen:
return FutureBuilder<List<String>>(
future: _firebaseData,
builder: (context, AsyncSnapshot<List<String>> snapshot) {
if (snapshot.connectionState == ConnectionState.done &&
snapshot.hasData) {
List<String> firebaseData = snapshot.data;
return ListView( [...]
}
else
return SplashScreen();
);
推荐阅读
- oracle - 我正在尝试安装 Oracle 10g,但它出现了丢失文件的异常
- c++ - 无法链接文件系统库 con C++
- reactjs - 为什么反应路由器不适用于redux?
- hadoop - Hodoop + Nutch 1.15 + Solr Cloud 7.3.1 索引无结果
- dependency-injection - WebJobs 3.0 依赖注入 AddScoped 每个函数调用
- java - 自动机 DFA 实现无法使用 Java
- azure - 在过去 24 小时内检测到 Azure web aop 高 CPU
- javascript - 布尔列表功能的困难
- java - 如何从 ImageView 获取图像并将其转换为字节数组以插入 MySQL DB 并从数据库中检索
- javascript - 如何让浏览器在新选项卡中打开 pdf 而不仅仅是下载它?