В Flutter я использовал FutureBuilder для отображения данных из API. Я хотел бы открыть диалоговое окно с сообщением об ошибке при возникновении ошибки.
Однако оно выдает ошибку при вызове showDialog ()
setState() or markNeedsBuild() called during build.
Вот мой код
return FutureBuilder(
future: xxx,
builder: (context, snapshot) {
if (snapshot.hasData) {
//DO SOMETHING
} else if (snapshot.hasError) {
//TODO: Show Error
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Error"),
content: Text("HAHAHA"),
actions: <Widget>[
FlatButton(
child: Text("No"),
),
FlatButton(
child: Text("Yes")
),
],
);
}
);
return Container();
} else {
//DO SOMETHING
}
},
Помогите, пожалуйста, посоветовать, как я могу показать диалог в FutureBuilder.