gpt4 book ai didi

firebase - 仅在flutter中热重新加载后才能从Firestore中检索值

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

我是新来的 flutter 。到目前为止,这就是我所做的(这不是完整的代码)。您可以看到,我正在尝试从firestore中获取一些数据。问题是,当我进入页面时,数字值始终为零。但是,如果我重新加载页面,它将为我提供正确的值。我为什么呢?我认为这与 future 和异步有关。但是我还不太了解它们。

Widget build(BuildContext context) {

someMethod() {
return Firestore.instance
.collection('comments')
.where("Post", isEqualTo: widget.snapshot.documentID)
.getDocuments();
}

someMethod().then((QuerySnapshot snapshot) {
if (snapshot.documents.isNotEmpty) {
db = snapshot.documents;
}
});

int number = db?.length ?? 0;
print(number);
}

最佳答案

您必须使用setState()通知框架此对象的内部状态已更改。

someMethod().then((QuerySnapshot snapshot) {
if (snapshot.documents.isNotEmpty) {
setState(() {
db = snapshot.documents;
});
}
});

关于firebase - 仅在flutter中热重新加载后才能从Firestore中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002794/

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