You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中GetX的unknownRoute配置无效触发报错如何解决?

报错原因

  • 你使用的GetX 4.3.8版本存在已知的导航Key冲突bug:当unknownRoute对应的GetPage没有显式指定唯一键时,框架会自动生成重复的导航GlobalKey,触发 widget 树中重复Key的报错。
  • 部分场景下热重载残留的页面状态、或者项目中同时嵌套了GetMaterialApp和原生MaterialApp,也会触发该类导航状态冲突问题。

解决方案

  1. 给unknownRoute的GetPage显式添加唯一的键,修改你的GetMaterialApp配置如下:
return GetMaterialApp(
        title: 'Named navigation',
        // 新增key参数,指定唯一标识,避免Key冲突
        unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage(), key: const ValueKey('unknown_route')),
        initialRoute: '/',
        getPages: [
          GetPage(name: '/', page: () => MyNavigationNamed()),
          GetPage(name: '/second', page: () => SecondScreenNamed()),
          GetPage(name: '/third', page: () => ThirdParametersScreenNamed()),
          GetPage(
              name: '/third_with_built_param/:someValue',
              page: () => ThirdParametersScreenNamed()),
        ],
);
  1. 升级GetX到稳定的高版本,修改pubspec.yaml中get的依赖版本为最新稳定版即可,例如:
dependencies:
  get: ^4.6.5

修改后执行flutter pub get拉取新版本依赖。
3. 执行flutter clean清除项目编译缓存,冷启动项目重新测试,不要使用热重载验证路由配置。

内容的提问来源于stack exchange,提问作者RJB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:30:01