内容

use_decorated_box

使用 DecoratedBox

此规则从 Dart 2.16 开始可用。

此规则提供了一个 快速修复

详情

#

Container 仅具有 Decoration 时使用 DecoratedBox

ContainerDecoratedBox 占用更多资源,而 DecoratedBox 额外拥有 const 构造函数。

错误

dart
Widget buildArea() {
  return Container(
    decoration: const BoxDecoration(
      color: Colors.blue,
      borderRadius: BorderRadius.all(
        Radius.circular(5),
      ),
    ),
    child: const Text('...'),
  );
}

正确

dart
Widget buildArea() {
  return const DecoratedBox(
    decoration: BoxDecoration(
      color: Colors.blue,
      borderRadius: BorderRadius.all(
        Radius.circular(5),
      ),
    ),
    child: Text('...'),
  );
}

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - use_decorated_box