繁体   English   中英

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

[英]How to specify type annotations for functions in Dart

我似乎无法弄清楚为什么我不断得到“ Specify type annotations. dart(always_specify_types) 此功能在PageRouteBuilder下的Specify type annotations. dart(always_specify_types)警告。 我刚刚开始使用Flutter / Dart,我真的很喜欢它!

我尝试将其转换为变量并将其注释为Route但仍然无法解决。

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

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

PageRouteBuilder是一个通用类。

您从linter那里获得了该提示,因为您没有指定参数类型,而类型系统必须进行推断。

只需在您的PageRouteBuilder构造函数中使用< >表示法添加推送类的类型(例如DashboardPage )。

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,
      );
    },
  ),
);

这应该摆脱警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM