首页 > 解决方案 > 在 Flutter auto_route 包中,我需要将构建器转换为什么类型?

问题描述

我最近将 Flutter 升级到 2.0 并迁移到 null 安全性。

我的代码如下

...
import 'package:auto_route/auto_route.dart';
import 'package:metv/presentation/routes/router.gr.dart' as app_router;

child: MaterialApp(
            title: 'Notes',
            themeMode: darkMode ? ThemeMode.dark : ThemeMode.light,
            theme: Themes().themeLight,
            darkTheme: Themes().themeDark,
            debugShowCheckedModeBanner: false,
            builder: ExtendedNavigator.builder<app_router.Router>(
              router: app_router.Router(),
            ),
          ),

我现在在 <app_router.Router>代码行中收到以下错误消息。

'Router' doesn't extend 'RouterBase'. Try using a type that is or is a subclass of 'RouterBase'.

我不确定什么需要替换损坏的代码。任何帮助,将不胜感激。

谢谢

标签: flutter

解决方案


想出了答案。我将上面的代码更改为:

import 'package:metv/presentation/routes/router.gr.dart' as app_router;
...
final _appRouter = app_router.Router();
...
child: MaterialApp(
            title: 'Notes',
            themeMode: darkMode ? ThemeMode.dark : ThemeMode.light,
            theme: Themes().themeLight,
            darkTheme: Themes().themeDark,
            debugShowCheckedModeBanner: false,
            home: MaterialApp.router(
              routerDelegate: _appRouter.delegate(),
              routeInformationParser: _appRouter.defaultRouteParser(),
            ),
          ),

推荐阅读