不行。这是不可能的(或至少不建议这样做)。
问题在于您的InheritedWidget不应位于路线 内 ,而应位于路线 上方 。通常在上面
MaterialApp
但是我希望我的身份验证能够推送登录屏幕,我不能放在上面
MaterialApp!
这就是为什么我说
usually。:D
身份验证是这些例外之一。您可能希望身份验证层访问导航器。但是仍然要与 所有 路由共享该身份验证层。
这是使用的有用属性的地方
MaterialApp:
builder
通过Builder时,将用于在路线上方插入任何类型的小部件。但仍要紧追其后,
Navigator以便您仍然可以在需要时推新路线。
最后,您将拥有
new MaterialApp( builder: (context, child) { return new MyAuthent(child: child); }, ... // home: SplashSceen ?);这很可能需要您进行重构。但这是实现此目标的正确方法。



