如何在颤振中没有上下文的情况下导航?

oma*_*per 5 navigation android-context flutter

我最终使用了静态函数,但我需要进行导航,它给了我一个错误,没有找到上下文的吸气剂,所以我寻找解决方案并找到了 GET 包,但当我尝试使用它时,它给了我另一个错误:

E/flutter ( 6078): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] 
Unhandled Exception: NoSuchMethodError: The method 'push' was called on null.
Run Code Online (Sandbox Code Playgroud)

我的代码:

E/flutter ( 6078): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] 
Unhandled Exception: NoSuchMethodError: The method 'push' was called on null.
Run Code Online (Sandbox Code Playgroud)

Mur*_*lan 8

创建导航键

final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
Run Code Online (Sandbox Code Playgroud)

将其分配给 MaterialApp

MaterialApp(
    home: Home(),
    navigatorKey: navigatorKey
),
Run Code Online (Sandbox Code Playgroud)

然后通过下面的navigatorKey推送你的路线

navigatorKey.currentState.push(MaterialPageRoute(
    builder: (context) => AnotherPage(),
));
Run Code Online (Sandbox Code Playgroud)

或者

navigatorKey.currentState.pushNamed(routeName);
Run Code Online (Sandbox Code Playgroud)

  • 它告诉我 navigatorKey 没有定义为 getter。 (2认同)
  • 发送 firebase 推送通知并尝试在没有上下文的情况下从 main.dart 启动产品页面时,navigatorkey.currentstate 为 null。你有什么解决办法吗? (2认同)