从StreamBuilder获取数据后,我想显示一个警告对话框。我也有要渲染的UI。当前,在返回实际的UI之前尝试在_loadUI
方法内构建对话框时遇到了这样的错误。
在构建过程中调用setState()或markNeedsBuild()。
代码:
if (dataSnapshot.hasData) {
return dataSnapshot.data ? _loadUI(dataSnapshot.data) : _emptyView();
}
答案 0 :(得分:1)
您可以这样做:
void _loadUI(snapshot) {
...
WidgetsBinding.instance.addPostFrameCallback((_){
showDialog(
context: context,
...
);
});
}
addPostFrameCallback在帧期间运行,紧接在持久帧回调之后(刷新主渲染管道时)。