如何在 Dart 中为函数指定类型注释

Kyr*_*ing 5 typechecking dart flutter

我似乎不明白为什么我在这个函数中不断收到Specify type annotations. dart(always_specify_types)警告。PageRouteBuilder我刚刚开始使用 Flutter/Dart,我真的很喜欢它!

我尝试将其转换为变量并将其注释为 aRoute但仍然没有成功。

这是代码。请注意,这PageRouteBuilder给了我类型注释警告。

Navigator.of(context).push(
  PageRouteBuilder(
    pageBuilder: (BuildContext context, _, __) {
      return DashboardPage();
    },
    transitionsBuilder: (_, Animation<double> animation, __, Widget child) {
      return FadeTransition(
        opacity: animation,
        child: child,
      );
    },
  ),
);
Run Code Online (Sandbox Code Playgroud)

Pad*_*ado 3

PageRouteBuilder是一个泛型类。

您从 linter 中获得该提示,因为您没有指定参数类型,并且类型系统必须推断它。

只需在构造函数中添加推送类的类型(例如DashboardPage)和符号即可。 < >PageRouteBuilder

Navigator.of(context).push(
  PageRouteBuilder<DashboardPage>( // <--- parametric type here
    pageBuilder: (BuildContext context, _, __) {
      return DashboardPage();
    },
    transitionsBuilder: (_, Animation<double> animation, __, Widget child) {
      return FadeTransition(
        opacity: animation,
        child: child,
      );
    },
  ),
);
Run Code Online (Sandbox Code Playgroud)

这应该消除警告。