flutter2.x报错解决type (RouteSettings) => Route<dynamic> is not a subtype of type (RouteSettings) => Rou
flutter2.x报错解决type (RouteSettings) => Route <dynamic>? is not a subtype of type (RouteSettings) => Route <dynemic> of function result
原有代码–main.dart
import 'package:flutter/material.dart';
import 'pages/tabs/Tabs.dart';
import 'routers/router.dart';
void main() {runApp(MyApp());
}
// 输入stf 有状态组件
// stss 无状态组件
class MyApp extends StatefulWidget {const MyApp({ Key? key }) : super(key: key);@override_MyAppState createState() => _MyAppState();
}class _MyAppState extends State<MyApp> {@overrideWidget build(BuildContext context) {return MaterialApp(// home: Tabs()initialRoute: '/', // 注意观察--问题就出在函数类型声明方面onGenerateRoute: onGenerateRoute, // 注意观察--问题就出在函数类型声明方面);}
}
原有代码–router.dart
import 'package:flutter/material.dart';import '../pages/tabs/Tabs.dart';import '../pages/test/Search.dart';// 配置路由路径var router = {'/': (context, { arguments }) => Tabs(arguments: arguments), // 使用arguments传递参数'/search': (context) => SearchPage()};// onGenerateRoute配置// 注意观察--问题就出在函数类型声明方面final onGenerateRoute = (RouteSettings settings) {final String ? name = settings.name;final Function pageContentBuilder = router[name] as Function;if (pageContentBuilder != null) {if (settings.arguments != null) {final Route route = MaterialPageRoute(builder: (context) =>pageContentBuilder(context, arguments: settings.arguments));return route;} else {final Route route =MaterialPageRoute(builder: (context) => pageContentBuilder(context));return route;}}};
解决方案–现有代码–修改类型声明
final Map<String, WidgetBuilder> routes = {'/': (context) => NewPage(),'/search': (context) => ParamPage(),};Route<dynamic> _onGenerateRoute(RouteSettings settings) {// return MaterialPageRoute(builder: (context) {// // 如果访问的路由页需要登录,但当前未登录,则直接返回登录页路由,// // 引导用户登录;其它情况则正常打开路由。// // 统一处理// })final String name = settings.name;final Function pageContentBuilder = routes[name];print('到1');if (settings.arguments != null) {print('到2');final Route route = MaterialPageRoute(builder: (context) => NewPage(),);return route;} else {print('到3');final Route route = MaterialPageRoute(builder: (context) {return ParamPage(text: ModalRoute.of(context).settings.arguments);},);return route;}}
解决思路,点击main.dart中的 onGenerateRoute: _onGenerateRoute,跳转过去看一下其变量类型,然后根据类型进行声明
flutter2.x报错解决type (RouteSettings) => Route<dynamic> is not a subtype of type (RouteSettings) => Rou相关推荐
- Maven报错解决:Element 'dependency' cannot have character [children], because the type's content type is
在用maven的时候遇到报错: Element 'dependency' cannot have character [children], because the type's content ty ...
- 报错解决:TypeError: Object type class 'str' cannot be passed to C code
此文首发于我的个人博客:报错解决 TypeError Object type class 'str' cannot be passed to C code - zhang0peter的个人博客 下午在 ...
- 报错解决:Ubuntu插入硬盘不能挂载,Error mounting /dev/sdb1 at /media/×××/×××: unknown filesystem type ‘exfat’
报错解决:Ubuntu插入硬盘不能挂载,Error mounting /dev/sdb1 at /media/×××/×××: unknown filesystem type 'exfat' 报错 报 ...
- [vuex] unknown mutation type: XXX/XXX 报错解决方法
unknown getter: XXX/XXX 报错解决方法 今天,用vuex中的Module来分割多个模块的时候,碰到了一个bug,今天,跟大家分享一下,先看一下报错内容吧 我的代码结构是这样的 i ...
- 从零开始在ubuntu上安装和使用k8s集群及报错解决
文章目录 安装docker 安装kubernetes 配置k8s集群 配置虚拟机网络 配置Master节点的k8s网络 拉取k8s需要的镜像 启动 kubeadm 和 kubelet 配置 node节 ...
- Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.
此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...
- 报错解决:ResourceExhaustedError: OOM when allocating tensor with shape
报错解决:ResourceExhaustedError: OOM when allocating tensor with shape 早上在使用tensorflow时遇到如下报错: Traceback ...
- CentOS 6.3 下编译cyrus-sasl报错解决
编译cyrus-sasl报错解决 分类: Linux2011-12-07 12:501155人阅读评论(0)收藏举报 function 编译cyrus-sasl报错 ...
- 视觉SLAM十四讲slambook2/ch3/examples/plotTrajectory.cpp程序报错解决
视觉SLAM十四讲slambook2/ch3/examples/plotTrajectory.cpp程序报错解决 原程序编译后出现如下报错: /usr/local/include/pangolin/v ...
- 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例
版本说明 免费版本仍然可用.尚未使用Datcom + Pro版本的功能进行更新.没有大量的工作,我无法生成新的分发程序包,并且我现在对此不感兴趣.建议您观看教程视频,以了解使用新的Datcom + P ...
最新文章
- VMware调试.【转】VMware+Windgb+Win7 内核驱动调试
- jdk1.8.0_45源码解读——Map接口和AbstractMap抽象类的实现
- luogu1975 [国家集训队]排队
- AD制图相关问题总结
- 消息称淘宝正测试微信支付 需要手动截图扫码支付
- 利用logrotate系统工具切割tomcat日志
- PHP 面向对象的简单介绍
- 菜鸟学运筹学----引
- GB35114---聊聊SM2签名格式
- 公开课丨重中之重!Web安全漏洞与防御
- Java 10 大装 B 写法,装逼常用代码
- springboot-单文件多文件下载Zip
- BPM平台为企业“增值”
- 【OJ每日一练】1049 - 矩阵对角线元素之和 v1.0
- 安卓手机玩游戏卡顿怎么解决_手机玩游戏的时候卡顿,怎么处理?
- java中如何导出excel_java中如何导出excel表格
- 逻辑运算符 、逻辑中断
- 暨南大学计算机研究生进腾讯,腾讯内容开放平台
- 【VRP】节约里程算法求解车辆路径规划问题【含Matlab源码 1166期】
- java怎么跑游戏_RunGame java赛跑小游戏源代码和素材,适合新手入门练手。 Develop 272万源代码下载- www.pudn.com...