【发布时间】:2020-12-24 16:45:46
【问题描述】:
我需要从 Firebase Cloud 一次性读取数据,这就是我在项目 (dart/flutter) 中使用 FutureBuilder 的原因。但是当应用程序启动时,它会不停地读取(作为流)。我应该怎么做才能解决这个问题?
class Hello extends StatefulWidget {
@override
_HelloState createState() => _HelloState();
}
class _HelloState extends State<Hello> {
Future getPosts() async{
QuerySnapshot qn = await FirebaseFirestore.instance.collection("111").get();
return qn.docs;
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: new Text('Hello'),
),
body: FutureBuilder(
future: getPosts(),
builder: (context, snapshot){
if(snapshot.connectionState == ConnectionState.waiting){
return Center(
child: CircularProgressIndicator(),
);
}
else{
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index){
return Text(snapshot.data[index].data()["subject"]);
},
);
}
},
),
);
}
}
【问题讨论】:
标签: android ios firebase flutter dart