从 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" 的原因。 在这里找到正确答案: