我正在尝试从我的firebase数据库中获取文档并使用它们创建一个社交媒体提要。这里我正在尝试获取获取的集合的长度,但我无法调用该变量。任何帮助都将不胜感激。Example code
class LoadDataFromFirestore extends StatefulWidget {
@override
_LoadDataFromFirestoreState createState() => _LoadDataFromFirestoreState();
}
class _LoadDataFromFirestoreState extends State<LoadDataFromFirestore> {
@override
void initState() {
super.initState();
CollectionReference _collectionRef =
FirebaseFirestore.instance.collection('fish');
Future<void> getData() async {
// Get docs from collection reference
QuerySnapshot querySnapshot = await _collectionRef.get();
// Get data from docs and convert map to List
final allData = querySnapshot.docs.map((doc) => doc.data()).toList();
print(allData);
}
}
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
itemCount: querySnapshot.docs.length,
itemBuilder: (BuildContext context, int index) {
return _postView();
},
),
);
}
}
2条答案
按热度按时间a64a0gku1#
首先,在
initstate
中调用future
函数是不可以的,你需要像这样使用FutureBuilder
:在listview构建器中,您可以使用
data
来解析数据并使用它。zte4gxcn2#
您可以像这样使用FutureBuilder: