【问题标题】:Flutter, Difference between a firestore direct query and a query in FutureBuilder?Flutter,firestore直接查询和FutureBuilder中的查询之间的区别?
【发布时间】:2020-11-23 02:10:23
【问题描述】:

我不确定是在 initState 中查询 await 更好,还是创建 FutureBuilder 更好。

FutureBuilder针对每个setState不断重组,动画效果因加载画面而隐藏(时间短,但如果数据没有完全准备好,我设置为显示加载画面)。

所以在很多情况下,我认为使用 FutureBuilder 并不是一个好主意,所以我问。

【问题讨论】:

  • @eyllanesc ,不要在标题中排除 Flutter。 FutureBuilder 和 initState 是仅存在于 Flutter 中的函数。标题中排除 Flutter 不适合标题。

标签: flutter google-cloud-firestore flutter-layout


【解决方案1】:

Firestore 直接查询将返回您可以使用 StreanBuilder 小部件使用的数据流,并且您的 Firestore 中的每次更新都会反映在那里

另一方面,FutureBuilder 中的查询只是执行一次的 asyncawait 函数

【讨论】:

  • 如果您在每次状态更改时都面临重建未来构建器的问题,您可以查看此问题stackoverflow.com/questions/60990519/…
  • 谢谢,但我认为您误解了。首先,我不想使用 StreamBuilder 我只想使用简单查询一次。正如我上面提到的,您通过链接建议的方式正是您执行 initState 的方式。我的问题是,Future Builder 正在以多种方式在各个部分再次通过 setState 被调用,所以我试图确认使用它是否不好。
  • 如果你在init 状态下使用它,那么它会被调用一次,是的FutureBuilder 是用于网络调用的非常好的小部件
猜你喜欢
  • 2018-10-14
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 2019-06-08
  • 1970-01-01
相关资源
最近更新 更多