【发布时间】:2020-06-18 12:24:21
【问题描述】:
我在带有BottomNavigationBar 的屏幕上使用FutureBuilder。但是每当我点击不同的选项卡并返回时,FutureBuilder 会再次重新加载所有内容。我已经在使用AutomaticKeepAliveClientMixin,我无法保存 getLessons(),所以我不必再次加载它。有人可以帮我吗?
@override
Widget build(BuildContext context) {
return FutureBuilder<List<Lesson>>(
future: getLessons(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.none) {
} else if (snapshot.connectionState == ConnectionState.waiting) {
} else {
return Container();
}
});
}
这是我的 getLessons():
Future<List<Lesson>> getLessons() async {
String url = "...";
http.Response response = await http.get(url);
var data = json.decode(response.body);
(...)
return lessons;
}
如何保持状态不更新?
【问题讨论】: