将flutter升级到1.22.0后,auto_route软件包出现问题

时间:2020-10-03 05:26:43

标签: flutter dart

昨天,我已经将flutter升级到了1.22.0版,除此错误外,其他一切都很好

无法推断类型参数“ T”。 试图为'T'推断'dynamic'无效: 声明类型参数“ T”以扩展“ RouterBase”。 “动态”类型从以下推断得出: 参数“ router”声明为“ T” 但是争论是“动态的”。 考虑将显式类型参数传递给泛型。

这是我的代码

return MaterialApp(
builder: ExtendedNavigator.builder(router: Router()),
...
);

我正在使用auto_route软件包

2 个答案:

答案 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;

More info on hide