Вы также можете использовать FutureBuilder
, если вы обновляете состояние виджета только один раз. FutureBuilder заставит ваш виджет перестроиться, как только ваш getConfig()
вызов будет завершен. Это упростит вещи:
class Favorites extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: getConfig(),
builder: (context, snapshot) {
if (snapshot.data == null) {
// display the loading screen as long as your getConfig() call hasn't finished
return LoadingScreen();
}
return Padding(
padding: EdgeInsets.only(top: 10),
child: ListView.builder(
itemCount: stationList.length,
itemBuilder: (context, position) {
return StationCard(stationList[position]);
},
),
);
},
);
}
}
А затем настройте ваш вызов на что-то вроде этого:
Future<http.Response> getConfig() async {
//Load Config
// return your result
return result;
}