【问题标题】:problem with auto_route package after upgrading flutter to 1.22.0将flutter升级到1.22.0后auto_route包的问题
【发布时间】:2021-01-18 16:33:04
【问题描述】:

昨天我已经将flutter升级到1.22.0版本,除了这个错误,一切都正常

无法推断类型参数“T”。 试图为不起作用的“T”推断“动态”: 类型参数“T”声明为扩展“RouterBase”。 “动态”类型是从以下位置推断出来的: 参数“路由器”声明为“T” 但论点是“动态的”。 考虑将显式类型参数传递给泛型。

这是我的代码

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

我正在使用 auto_route 包

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    这是由于库 'package:flutter/src/widgets/router.dart' 中的路由器类与生成的文件 'router.gr.dart' 之间的冲突。

    如果您没有在同一文件中使用“package:flutter/src/widgets/router.dart”中的路由器类,则可以在导入材料包时将其隐藏。

    喜欢:

    import 'package:flutter/material.dart' hide Router;
    

    More info on hide

    【讨论】:

      【解决方案2】:

      现在有一个类型要与构建器构造函数关联。

      试试这个,

      import 'auto_route/auto_route.dart';
      import 'router.gr.dart' as r;
      
      
        return MaterialApp(
         builder: ExtendedNavigator.builder<r.Router>(router: r.Router()),
         ...
        );
      

      我遇到了路由器在多个文件中定义的问题,因此如果您遇到上述问题,请在导入时使用别名。

      【讨论】:

        猜你喜欢
        • 2019-12-24
        • 2021-01-11
        • 2020-03-26
        • 2021-06-11
        • 2021-06-25
        • 2020-04-17
        • 2020-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多