【发布时间】:2021-08-17 08:03:13
【问题描述】:
新建页面后,我需要加载webservice数据(加载过程中,应该显示忙碌的inducator),然后加载完成后,显示数据。
我的方法是在initState覆盖中加载数据,这样:
void initState() {
setState(() => _isLoading = true);
fetchData().then((value) {
// Do something with data
widget.value = value;
setState(() => _isLoading = false);
});
}
super.initState();
}
然后,build 方法将显示加载指示器,或者加载的数据取决于 _isLoading 值。
目前,它可以工作,但我觉得这不是一个好方法,尤其是 afaik,应该避免在 initState 内部调用 setState。
您能否提供一些提示,如何在不使代码过于复杂的情况下更好地做到这一点?或者,在这种情况下我的方法是可以接受的?
【问题讨论】:
标签: flutter dart async-await state