在此记录项目中所遇到问题及解决方案
在initState方法中使用context对象获取用户token时发生该错误,解决方法是
把它移到did
修改之前的代码:
@override
void initState() {
super.initState();
if(_presenter==null) {
_presenter = new MyCouponPresenter(this, getToken(context));
_presenter.query(0);
}
}
修改之后的代码:
@override
void didChangeDependencies() {
super.didChangeDependencies();
if(_presenter==null) {
_presenter = new MyCouponPresenter(this, getToken(context));
_presenter.query(0);
}
}
在didChangeDependencies方法中showDialog还是会出现这个问题,可以使用延时处理。
_showLoadingDialog() async{
await Future.delayed(Duration(milliseconds: 100));
showDialog<DialogDemoAction>(context: context,
builder: (BuildContext context){
return LoadingDialog();
});
}