内容

sized_box_shrink_expand

使用 SizedBox shrink 和 expand 命名构造函数。

此规则从 Dart 2.16 开始可用。

详情

#

适当地使用 SizedBox.shrink(...)SizedBox.expand(...) 构造函数。

当其中一个命名构造函数更简洁地捕获代码的意图时,应使用 SizedBox.shrink(...)SizedBox.expand(...) 构造函数,而不是更通用的 SizedBox(...) 构造函数。

示例

错误

dart
Widget buildLogo() {
  return SizedBox(
    height: 0,
    width: 0,
    child: const MyLogo(),
  );
}
dart
Widget buildLogo() {
  return SizedBox(
    height: double.infinity,
    width: double.infinity,
    child: const MyLogo(),
  );
}

正确

dart
Widget buildLogo() {
  return SizedBox.shrink(
    child: const MyLogo(),
  );
}
dart
Widget buildLogo() {
  return SizedBox.expand(
    child: const MyLogo(),
  );
}

用法

#

要启用 sized_box_shrink_expand 规则,请在 linter > rules 下添加 sized_box_shrink_expand 到您的 analysis_options.yaml 文件中

analysis_options.yaml
yaml
linter:
  rules:
    - sized_box_shrink_expand