栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何有效地扑捉Firestore参考字段的数据?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何有效地扑捉Firestore参考字段的数据?

坚持使用Firebase和Flutter的方式,可以在Streambuilder内部使用Streambuilder。也就是说,不要将FutureBuilder用于嵌套数据,而是让您等待每个.get请求。

(该代码未经测试,但原理已通过测试。)

class MessageList extends StatelessWidget {  MessageList({this.firestore});  final Firestore firestore;  @override  Widget build(BuildContext context) {    Map UserSnapshot = Map(); // create a variable for accessing users by id    return StreamBuilder<QuerySnapshot>(        stream: firestore.collection('users').snapshots(),        builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> UsersSnapshot) {          // process usersnapshot from list to map          UsersSnapshot.data.documents.forEach((userRecord) { //print(optionRecord.documentID); // debug UserSnapshot[userRecord.documentID] = userRecord;          });          // user data can be accessed as soon as there is a reference field or documentID:          // UserSnapshot[document['userRef']]['userName'}          return StreamBuilder<QuerySnapshot>( stream: firestore.collection('messages').snapshots(), builder: (BuildContext context,     AsyncSnapshot<QuerySnapshot> MessagesSnapshot) {   if (!MessagesSnapshot.hasData) return const Text('Loading...');   final int messageCount = MessagesSnapshot.data.documents.length;   return ListView.builder(     itemCount: messageCount,     itemBuilder: (_, int index) {       final documentSnapshot document =MessagesSnapshot.data.documents[index];       // document['userRef'] exists here       // UserSnapshot[document['userRef']]['userName'} is accessible here       return ListTile(         title:  Text(document['message'] ?? '<No message retrieved>'),         subtitle: Text('Message ${index + 1} of $messageCount'),       );     },   ); },          );        });  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号