flutter - 在 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'.
我不确定什么需要替换损坏的代码。任何帮助,将不胜感激。
谢谢
解决方案
想出了答案。我将上面的代码更改为:
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(),
),
),
推荐阅读
- node.js - 在自定义字段上使用两个 JOIN 对查询进行 Sequelize
- javascript - bootstrap-select 使用 ajax 设置选项文本
- global - SetGlobal 在 GAMS 中执行
- pyqt - PYQT:选择某些下拉值时,使Qlabel消失了
- c# - 如何将 Windows 窗体数据保存到 csv?
- php - Laravel 8 - 旧输入和验证错误消息不起作用
- c# - SQL转换为LINQ,子查询被调用两次
- authorization - 在 wso2 IS XACML 策略中如何验证角色及其权限
- algorithm - 检测最小边数以打破所有循环的算法
- elasticsearch - IP 过滤不起作用 “试用许可证” Elasticsearch