Flutter:热重载后被发送回初始页面

Lê *_*Bảo 3 module flutter hot-reload

我正在使用flutter_modular将我的应用程序分成一些模块,一切看起来都很好,直到我注意到每次执行热重新加载时,我的应用程序都会自动跳回登录页面,这也是初始页面

这是我的设置:

class AppWidget extends StatelessWidget {
  final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: "/",
      onGenerateRoute: Modular.generateRoute,
      navigatorKey: navigatorKey,
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

很明显,flutter原生路由不会出现这个问题,那么为什么会出现在这么高投票的包里呢?

这里是依赖项的链接:https : //github.com/Flutterando/modular

以及 pub.dev 上的链接:https ://pub.dev/packages/flutter_modular

Lê *_*Bảo 6

经过一周的谷歌搜索后,我不小心解决了这个问题。我认为主页上没有记录如此重要的配置是很愚蠢的。

class AppWidget extends StatelessWidget {
  // final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: "/",
      onGenerateRoute: Modular.generateRoute,
      navigatorKey: Modular.navigatorKey, // Here's the culprit
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

通过使用flutter_modular,用户必须将Modular.navigatorKey放入MaterialApp而不是生成一个新的。

我正在创造这个问题,所以没有人必须再次经历我所有的痛苦。