标签: flutter-lints

“避免在公共 API 中使用库私有类型” - lint 警告,即使在说明书示例中也是如此?

我注意到样式错误警告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> {
...
 
Run Code Online (Sandbox Code Playgroud)

警告示例

我对 OOP 及其术语的理解充其量是粗略的,我不太理解这个警告,但我真正的问题是,带有此警告的示例是否错误,或者是否不理想——或者该风格问题是否仅适用于某些上下文这可能与示例无关,或者我应该忽略它,或者它是 flutter/dart 版本或其他版本的结果?

oop dart flutter flutter-lints

51
推荐指数
1
解决办法
2万
查看次数

使用FutureBuilder时颤动discarded_futures

我觉得linter规则discarded_future有问题

有没有办法使用discarded_future lint 规则,而不必每次使用FutureBuilder 时都忽略该规则。使用简单的 FutureBuilder 时触发规则是否正常?如果是,正确的方法是什么?

FutureBuilder<void>(
            
    future: retrieveLostData(),
    builder: (
      BuildContext context,
      AsyncSnapshot<void> snapshot,
    ) {
      switch (snapshot.connectionState) {
        case ConnectionState.none:
          return buildRowIconPhoto();
        case ConnectionState.waiting:
          return buildRowIconPhoto();
        case ConnectionState.done:
          return buildRowIconPhoto();
        default:
          return buildRowIconPhoto();
      }
    },
)
Run Code Online (Sandbox Code Playgroud)
 Future<void> retrieveLostData() async {
    LostDataResponse response = await _imagePicker.retrieveLostData();
    if (response.isEmpty) {
      return;
    }
    if (response.file != null && widget.onPhotoTaken != null) {
      widget.onPhotoTaken!(
        File(response.file!.path),
        false,
      );
    }
  }
Run Code Online (Sandbox Code Playgroud)

flutter flutter-futurebuilder flutter-lints

7
推荐指数
1
解决办法
254
查看次数