Dart 颤振升级:更新颤振的最新版本后,以前的功能不工作

Dart 颤振升级:更新颤振的最新版本后,以前的功能不工作,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,我在颤振版本v0.5.1中尝试过此功能,它工作正常,没有问题。在我更新到最新版本v0.8.4之后,我得到以下异常 ExceptionDataInheritfromWidgetofExactType(_LocalizationsScope)为 在ProfileScreen.initState()完成之前调用 当继承的小部件发生变化时,例如,如果Theme.of()的值发生变化,则会重建其依赖的小部件。如果依赖小部件对继承小部件的引用位于构造函数或initState()方法中,则重建的依赖小部件将不

我在颤振版本v0.5.1中尝试过此功能,它工作正常,没有问题。在我更新到最新版本v0.8.4之后,我得到以下异常

ExceptionDataInheritfromWidgetofExactType(_LocalizationsScope)为 在ProfileScreen.initState()完成之前调用

当继承的小部件发生变化时,例如,如果Theme.of()的值发生变化,则会重建其依赖的小部件。如果依赖小部件对继承小部件的引用位于构造函数或initState()方法中,则重建的依赖小部件将不会反映继承小部件中的更改。
通常,对继承小部件的引用应该出现在widget build()方法中。或者,基于继承的小部件的初始化可以放在didChangeDependencies方法中,该方法在initState之后以及依赖项在此后发生更改时调用。
@凌驾
void initState(){
super.initState();
makeRequest();
}
Future makeRequest()异步{
_加载();
http.Response-Response=wait http.get(Uri.encodeFull(getProfile)),
标题:{“接受”:“应用程序/json”});
///json数据调用。。。。。
}
void _onload(){
如果(装载检查){
显示对话框(
上下文:上下文,
禁止:错误,
生成器:(BuildContext上下文){
返回新对话框(
//进程对话框调用);
}
);
}否则{
Navigator.pop(上下文);
}
}

您需要来自

@override Widget build(BuildContext context) {
....
....
makeRequest() 
小部件生成后的方法粘贴。。。并像这样将参数(上下文)传递到括号中

makeRequest(context) 
再三

_onLoading(context) 
和使用

showDialog(
        context: context, //The context from Widget Build(BuildContext context)...

如果使用Provider和InitState,这是一个常见的问题。

我已经找到了解决方案,我在InitState()方法中使用show dialog时出错的原因,在使用这一行稍微更改了代码之后。new Future.delayed(Duration.zero,()=>onload());工作费请考虑将此作为回答(随后接受),以便将来对其他人可能有用(评论可以随时删除)。
showDialog(
        context: context, //The context from Widget Build(BuildContext context)...