昨天,我已经将flutter升级到了1.22.0版,除此错误外,其他一切都很好
无法推断类型参数“ T”。 试图为'T'推断'dynamic'无效: 声明类型参数“ T”以扩展“ RouterBase”。 “动态”类型从以下推断得出: 参数“ router”声明为“ T” 但是争论是“动态的”。 考虑将显式类型参数传递给泛型。
这是我的代码
return MaterialApp(
builder: ExtendedNavigator.builder(router: Router()),
...
);
我正在使用auto_route软件包
答案 0 :(得分:8)
现在有一个与构建器构造函数关联的类型。
尝试一下
import 'auto_route/auto_route.dart';
import 'router.gr.dart' as r;
return MaterialApp(
builder: ExtendedNavigator.builder<r.Router>(router: r.Router()),
...
);
我遇到了路由器在多个文件中定义的问题,因此如果遇到上述问题,则在导入时使用别名。
答案 1 :(得分:0)
这是由于库“ package:flutter / src / widgets / router.dart”中的Router类与生成的文件“ router.gr.dart”之间存在冲突。
如果您不在同一文件中使用“ package:flutter / src / widgets / router.dart”中的Router类,则可以在导入材料包时将其隐藏。
赞:
import 'package:flutter/material.dart' hide Router;