【问题标题】:"AVOID using library private types in public APIs" - lint warning, even in in cookbook examples?“避免在公共 API 中使用库私有类型” - lint 警告,即使在食谱示例中?
【发布时间】:2022-07-22 23:15:10
【问题描述】:

我注意到样式错误警告https://dart-lang.github.io/linter/lints/library_private_types_in_public_api.html 弹出在我的一些代码中,也出现在一些官方的 Flutter/Dart 文档/cookbook 示例中;例如在https://docs.flutter.dev/cookbook/animation/animated-container

...
class AnimatedContainerApp extends StatefulWidget {
  const AnimatedContainerApp({super.key});

  @override
  _AnimatedContainerAppState createState() => _AnimatedContainerAppState();
}

class _AnimatedContainerAppState extends State<AnimatedContainerApp> {
...
 

我对 OOP 及其命名法的理解充其量是粗略的,我不太理解该警告,但我的实际问题是,带有此警告的示例是错误的还是不理想的 - 或者该样式问题是否仅适用在某些可能与示例无关的上下文中,或者我应该忽略它,还是它是颤振/飞镖版本或其他一些的结果?

【问题讨论】:

    标签: flutter dart oop flutter-lints


    【解决方案1】:

    来自latest docs

    Subclasses should override this method to return a newly created
    instance of their associated [State] subclass:
    
    @override
    State<MyWidget> createState() => _MyWidgetState();
    

    所以你应该替换

    @override
    _AnimatedContainerAppState createState() => _AnimatedContainerAppState();
    

    @override
    State<AnimatedContainerApp> createState() => _AnimatedContainerAppState();
    
    猜你喜欢
    • 2022-11-06
    • 1970-01-01
    • 2016-09-22
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多