从 Firestore 快照数据
Snapshooting data from Firestore
我喜欢从 Firebase 快照数据。它仅在我从 VS Code (ctrl + s) 同步我的文件后才有效。我可以在该过程之后查看数据,但它不会自行加载具有 firestore 属性的 ListTile。有人有类似的问题并帮忙吗?
谢谢
String _userID;
Future getUserId() async {
FirebaseUser user = await FirebaseAuth.instance.currentUser();
_userID = user.uid.toString();
}
StreamBuilder buildStream(BuildContext context) {
final databaseReference = Firestore.instance;
setState(() {
getUserId();
});
return StreamBuilder(
stream: databaseReference.collection("users").
document("$_userID").
collection("usersEventList").
snapshots(),
builder: (context, snapshot) {
if(!snapshot.hasData) return const Text("No event found");
return ListView.builder(
itemExtent: 80.0,
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) =>
buildCanbanList(context, snapshot.data.documents[index]),
);
},
);
}
同步前/同步后:
_userId 需要在 StreamBuilder 构建之前声明。这就是为什么我每次想查看数据时都必须 "reload" 的原因。
在这里找到正确答案:
我喜欢从 Firebase 快照数据。它仅在我从 VS Code (ctrl + s) 同步我的文件后才有效。我可以在该过程之后查看数据,但它不会自行加载具有 firestore 属性的 ListTile。有人有类似的问题并帮忙吗? 谢谢
String _userID;
Future getUserId() async {
FirebaseUser user = await FirebaseAuth.instance.currentUser();
_userID = user.uid.toString();
}
StreamBuilder buildStream(BuildContext context) {
final databaseReference = Firestore.instance;
setState(() {
getUserId();
});
return StreamBuilder(
stream: databaseReference.collection("users").
document("$_userID").
collection("usersEventList").
snapshots(),
builder: (context, snapshot) {
if(!snapshot.hasData) return const Text("No event found");
return ListView.builder(
itemExtent: 80.0,
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) =>
buildCanbanList(context, snapshot.data.documents[index]),
);
},
);
}
同步前/同步后:
_userId 需要在 StreamBuilder 构建之前声明。这就是为什么我每次想查看数据时都必须 "reload" 的原因。
在这里找到正确答案: