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相关推荐

  1. 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 ...

  2. 报错解决:TypeError: Object type class 'str' cannot be passed to C code

    此文首发于我的个人博客:报错解决 TypeError Object type class 'str' cannot be passed to C code - zhang0peter的个人博客 下午在 ...

  3. 报错解决:Ubuntu插入硬盘不能挂载,Error mounting /dev/sdb1 at /media/×××/×××: unknown filesystem type ‘exfat’

    报错解决:Ubuntu插入硬盘不能挂载,Error mounting /dev/sdb1 at /media/×××/×××: unknown filesystem type 'exfat' 报错 报 ...

  4. [vuex] unknown mutation type: XXX/XXX 报错解决方法

    unknown getter: XXX/XXX 报错解决方法 今天,用vuex中的Module来分割多个模块的时候,碰到了一个bug,今天,跟大家分享一下,先看一下报错内容吧 我的代码结构是这样的 i ...

  5. 从零开始在ubuntu上安装和使用k8s集群及报错解决

    文章目录 安装docker 安装kubernetes 配置k8s集群 配置虚拟机网络 配置Master节点的k8s网络 拉取k8s需要的镜像 启动 kubeadm 和 kubelet 配置 node节 ...

  6. 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 ...

  7. 报错解决:ResourceExhaustedError: OOM when allocating tensor with shape

    报错解决:ResourceExhaustedError: OOM when allocating tensor with shape 早上在使用tensorflow时遇到如下报错: Traceback ...

  8. CentOS 6.3 下编译cyrus-sasl报错解决

    编译cyrus-sasl报错解决        分类:            Linux2011-12-07 12:501155人阅读评论(0)收藏举报 function 编译cyrus-sasl报错 ...

  9. 视觉SLAM十四讲slambook2/ch3/examples/plotTrajectory.cpp程序报错解决

    视觉SLAM十四讲slambook2/ch3/examples/plotTrajectory.cpp程序报错解决 原程序编译后出现如下报错: /usr/local/include/pangolin/v ...

  10. 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例

    版本说明 免费版本仍然可用.尚未使用Datcom + Pro版本的功能进行更新.没有大量的工作,我无法生成新的分发程序包,并且我现在对此不感兴趣.建议您观看教程视频,以了解使用新的Datcom + P ...

最新文章

  1. VMware调试.【转】VMware+Windgb+Win7 内核驱动调试
  2. jdk1.8.0_45源码解读——Map接口和AbstractMap抽象类的实现
  3. luogu1975 [国家集训队]排队
  4. AD制图相关问题总结
  5. 消息称淘宝正测试微信支付 需要手动截图扫码支付
  6. 利用logrotate系统工具切割tomcat日志
  7. PHP 面向对象的简单介绍
  8. 菜鸟学运筹学----引
  9. GB35114---聊聊SM2签名格式
  10. 公开课丨重中之重!Web安全漏洞与防御
  11. Java 10 大装 B 写法,装逼常用代码
  12. springboot-单文件多文件下载Zip
  13. BPM平台为企业“增值”
  14. 【OJ每日一练】1049 - 矩阵对角线元素之和 v1.0
  15. 安卓手机玩游戏卡顿怎么解决_手机玩游戏的时候卡顿,怎么处理?
  16. java中如何导出excel_java中如何导出excel表格
  17. 逻辑运算符 、逻辑中断
  18. 暨南大学计算机研究生进腾讯,腾讯内容开放平台
  19. 【VRP】节约里程算法求解车辆路径规划问题【含Matlab源码 1166期】
  20. java怎么跑游戏_RunGame java赛跑小游戏源代码和素材,适合新手入门练手。 Develop 272万源代码下载- www.pudn.com...

热门文章

  1. Cadence OrCAD17.2禁止start page启动设置方法
  2. linux版flash下载工具,Linux系统下安装Flash浏览器插件的方法
  3. java读文件写文件
  4. oracle的五种元素,五种元素
  5. TIPS-国库信息处理系统
  6. “小步快跑、快速迭代” 可用于工作的好方法
  7. blender 命令行渲染
  8. c语言色环电阻计算器源代码,色环电阻在线计算器
  9. 重学前端第一天——HTML结构和常见的HTML元素
  10. (五)js数组方法二