FutureBuilder
Строит UI на основе результата Future (асинхронной операции).
Сигнатура
FutureBuilder<T>({Future<T>? future, required Widget Function(BuildContext, AsyncSnapshot<T>) builder})Подписывается на Future<T> и перестраивает интерфейс по мере его выполнения. builder получает AsyncSnapshot, у которого проверяют connectionState, hasData и hasError. Удобно для загрузки данных из сети.
FutureBuilder<String>(
future: loadData(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return Text(snapshot.data!);
},
)