gpt4 book ai didi

firebase - 不实时加载值

转载 作者:行者123 更新时间:2023-12-03 04:47:09 25 4
gpt4 key购买 nike

我正在使用以下代码从firestore集合中获取文档总数,然后将其存储到int countDocument,它确实准确地获取了值,但是当我以前在嵌套在Scaffold中的Flutter小部件Text Widget中显示相同的值时,在加载屏幕时,它不显示值,仅显示null,仅在热加载时,它在屏幕上显示值。

为了在countDocument中表示Text Widget的值,我做了countDocument.toString()',但在初始加载屏幕时仍然不显示该值

我应该如何解决?

void countDocuments() async {
StreamSubscription<QuerySnapshot> _myDoc = await Firestore.instance.collection('users').snapshots().listen((result) {

countDocument = result.documents.length;
print(countDocument);


});

最佳答案

您需要使用StatefulWidget,然后使用setState,您可以更改Text的数据:

  void countDocuments() async {
StreamSubscription<QuerySnapshot> _myDoc = await Firestore.instance
.collection('users')
.snapshots()
.listen((result) {
setState(() {
countDocument = result.documents.length;
});
print(countDocument);
});
}
setState将使用新数据再次调用 build方法。在 build方法内,您可以执行以下操作:
Text(countDocument ?? "loading")

关于firebase - 不实时加载值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com