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



昨天,我已经将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;

隐藏的更多信息

最新更新