【问题标题】:Flutter: being sent back to initial page after hot reloadFlutter:热重载后被送回初始页面
【发布时间】:2020-07-10 16:03:14
【问题描述】:

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

这是我的设置:

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

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

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

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

还有 pub.dev 上的链接:https://pub.dev/packages/flutter_modular

【问题讨论】:

    标签: flutter module hot-reload


    【解决方案1】:

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

    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
        );
      }
    }
    

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

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

    【讨论】:

      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 2012-04-19
      • 2011-04-29
      相关资源
      最近更新 更多