提问人:Lama_Agent 提问时间:7/9/2023 更新时间:7/10/2023 访问量:21
简化对 initState() 中函数的等待
Simplify waiting for functions in initState()
问:
我有以下问题:
启动应用程序时,我需要加载名称、BaseSalary 和图像,并且我想仅在加载所有数据时继续显示屏幕。
我现在已经用一个解决了这个问题,并且我已经调用了所有函数。
有没有更好的方法:boolean loading = true
initState()
答:
0赞
Randal Schwartz
7/10/2023
#1
initState 不能是异步的,并且必须相对较快。在那之后,您的构建将几乎立即被调用。如果屏幕上没有可用的所有内容,则必须使用 FutureBuilder 之类的东西来提供要显示的小部件,直到数据可用为止。
因此,请使用 initState 启动一个 future,将其保存在 State 属性中,并使用 FutureBuilder 在生成中监视该 future。在 Flutter Codelab 中有一些这样的例子,如果你还没有这样做,现在应该花时间去体验一下。
永远,永远,永远没有一个名为 isLoading 的布尔值。了解 Future 值及其工作原理。它们有效地消除了对单独的布尔状态的需求。
评论