Skip to main content

avoid_unnecessary_containers

Stable
Flutter
Fix available

Avoid unnecessary containers.

Details

#

AVOID wrapping widgets in unnecessary containers.

Wrapping a widget in Container with no other parameters set has no effect and makes code needlessly more complex.

BAD:

dart
Widget buildRow() {
  return Container(
      child: Row(
        children: <Widget>[
          const MyLogo(),
          const Expanded(
            child: Text('...'),
          ),
        ],
      )
  );
}

GOOD:

dart
Widget buildRow() {
  return Row(
    children: <Widget>[
      const MyLogo(),
      const Expanded(
        child: Text('...'),
      ),
    ],
  );
}

Enable

#

To enable the avoid_unnecessary_containers rule, add avoid_unnecessary_containers under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_unnecessary_containers

If you're instead using the YAML map syntax to configure linter rules, add avoid_unnecessary_containers: true under linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    avoid_unnecessary_containers: true