将上下文传递给导航器推以访问继承的窗口小部件数据

时间:2019-02-07 02:43:06

标签: flutter

我正试图从MaterialApp的树中MaterialPageRoute下的继承小部件访问数据。

当我尝试从此路由UserModel.of(context).data访问数据时,它说是null

我知道这是因为UserModel提供程序应该放在整个MaterialApp上方,以便共享上下文,但是在我看来,这是不可能的。

因此,我尝试从导航器生成器传递上下文,希望它可以让我访问它:

onTap: () {
  Navigator.push(
       context,
       MaterialPageRoute(
         builder: (context) => SettingsScreen(
                appContext: context)),
   );
}

,然后在SettingScreen

UserModel.of(appContext).data

但是它也不起作用...

关于如何执行此操作的任何想法?

1 个答案:

答案 0 :(得分:0)

您可以只声明SettingsScreen的构造函数,然后在构造函数中传递数据。 :)