昨天,我已经将flutter升级到1.22.0版本,除了这个错误之外,一切都很好
无法推断类型参数't'。尝试为"T"推断"dynamic",但不起作用:类型参数"T"已声明为扩展"RouterBase"。类型"dynamic"是根据以下内容推断的:参数"router"声明为"T"但自变量是"动态的"。请考虑将显式类型参数传递给泛型。
这是我有的代码
return MaterialApp(
builder: ExtendedNavigator.builder(router: Router()),
...
);
我正在使用自动路由包
现在有一个类型要与生成器构造函数关联。
试试这个,
import 'auto_route/auto_route.dart';
import 'router.gr.dart' as r;
return MaterialApp(
builder: ExtendedNavigator.builder<r.Router>(router: r.Router()),
...
);
我遇到的问题是路由器是在多个文件中定义的,所以如果你遇到上面这样的问题,请在导入时使用别名。
这是由于库"package:flutter/src/widgets/Router.dart"中的Router类与生成的文件"Router.gr.dart"之间的冲突。
如果你没有在同一个文件中使用来自"package:flutter/src/widgets/Router.dart"的Router类,你可以在导入材料包时隐藏它。
类似:
import 'package:flutter/material.dart' hide Router;
隐藏的更多信息