avoid_unnecessary_containers

avoid_unnecessary_containers

Dart 애널라이저가 생성하는 avoid_unnecessary_containers 진단에 대한 설명이에요. 생성자에 child:만 전달된 Container 인스턴스가 있을 때 발생해요.

출처: 원문

본문

위젯 트리에 Container 인스턴스가 있는데, 생성자에 전달된 유일한 인자가 child:일 때 이 진단이 발생해요.

예시

아래 코드는 Container 생성자를 호출할 때 child: 인자만 사용하기 때문에 이 진단을 만들어요.

import 'package:flutter/material.dart';

Widget buildRow() {
  return Container(child: Row(children: [Text('a'), Text('b')]));
}

일반적인 수정 방법

생성자에 다른 인자도 제공하려 했다면 그 인자들을 추가해요.

import 'package:flutter/material.dart';

Widget buildRow() {
  return Container(
    color: Colors.red.shade100,
    child: Row(children: [Text('a'), Text('b')]),
  );
}

다른 인자가 필요 없다면 자식 위젯을 감싸지 말고 풀어내요.

import 'package:flutter/material.dart';

Widget buildRow() {
  return Row(children: [Text('a'), Text('b')]);
}

더 알아보기

Container 위젯과 위젯 트리 구조에 대한 더 자세한 내용은 Flutter 문서와 API 문서를 참고해요.