![](/img/trans.png)
[英]I need help understanding Streambuilder; why is my data not appearing?
[英]Why can't i use the method data() in my streambuilder in flutter
为什么我不能使用.data()
方法?
StreamBuilder(
stream:
usersDb.doc(widget.allUsersFromDb.docs[index]["uid"]).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.deepPurple,
));
}
// List? invitedByArray = snapshot.data!.data() not working
return Text("Invite");
},
),
好吧,如果你不指定StreamBuilder
类型,那么默认情况下它将是<AsyncSnapshot>
解决方案是将StreamBuilder
作为<DocumentSnapshot>
StreamBuilder<DocumentSnapshot>(
stream: usersDb.doc(_auth.currentUser!.uid).snapshots(),
builder: (context, currentUserDocSnapshot) {
if (!currentUserDocSnapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.deepPurple,
));
}
return Text(userSelectedSnapshot.data!["username"]);
},
);
然后您可以访问.data
方法并访问您的文档值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.