嵌套导航返回方法中的自动路由问题

问题描述 投票:0回答:1

我在下面分享了解决方案!

我正在使用 auto_route 包,在嵌套导航中我收到错误消息:

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: NoSuchMethodError: Class 'TabsRouter' has no instance getter 'identifier'. E/flutter ( 5578): Receiver: Instance of 'TabsRouter'

@AutoRouterConfig(replaceInRouteName: "View,Route")
    class AppRouter extends _$AppRouter {
      @override
      List<AutoRoute> get routes => [
            AutoRoute(
              page: HomeRoute.page,
              path: "/home",
              initial: true,
              children: [
                AutoRoute(page: UserRoute.page, path: "user", initial: true),
                AutoRoute(page: SettingsRoute.page, path: "settings"),
              ],
            ),
            AutoRoute(
              page: UserDetailRoute.page,
            ),
          ];
    }
flutter navigation auto-route
1个回答
0
投票

7.8.4 works fine.

确保在 pubspec 中省略 ^,否则在 ugprade 上它将解析为 7.8.5 自动路线:7.8.4

导致问题的差异是:

  • routing_controller.dart v7.8.4:

    void _removeTopRouterOf(Key? key) {
        for (final ctr in List.unmodifiable(_childControllers).reversed) {
            if (ctr.key == key) {
              _childControllers.remove(ctr);
              break;
            }
          }
        }
    
  • routing_controller.dart v7.8.5:

    void _removeTopRouterOf(Key? key) {
        for (final ctr in List.unmodifiable(_childControllers).reversed) {
            if (ctr.identifier == key) {
              _childControllers.remove(ctr);
              break;
            }
          }
        }
    
© www.soinside.com 2019 - 2024. All rights reserved.