从Firestore捕获数据

问题描述 投票:0回答:1

我喜欢从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]),
    );
  },
);
}

同步之前/同步之后:

“同步之前” “同步之后“

flutter google-cloud-firestore snapshot
1个回答
0
投票

_ userId需要在StreamBuilder构建之前进行声明。这就是为什么我每次想查看数据时都必须“重新加载”的原因。在此处找到正确的答案:https://stackoverflow.com/a/54725472/12246792

© www.soinside.com 2019 - 2024. All rights reserved.