sized_box_for_whitespace 린트 규칙: 여백은 SizedBox로 넣기
sized_box_for_whitespace 린트 규칙: 여백은 SizedBox로 넣기
Flutter 레이아웃에서 위젯 사이의 여백(whitespace)을 넣을 때, 무거운 Container보다는 SizedBox를 쓰는 게 더 가벼워요. 이 린트 규칙은 그런 여백을 SizedBox로 넣도록 안내하는 규칙이에요.
본문
설명
레이아웃에 여백을 넣을 때는 SizedBox를 사용해요.
Container는 SizedBox보다 무거운 위젯이에요. 게다가 보너스로 SizedBox는 const 생성자도 제공하고 있어서 컴파일 타임 상수로 만들 수 있답니다.
BAD:
Widget buildRow() {
return Row(
children: <Widget>[
const MyLogo(),
Container(width: 4),
const Expanded(
child: Text('...'),
),
],
);
}
GOOD:
Widget buildRow() {
return Row(
children: const <Widget>[
MyLogo(),
SizedBox(width: 4),
Expanded(
child: Text('...'),
),
],
);
}
단순히 width: 4만 필요할 때는 Container(width: 4)보다 SizedBox(width: 4)가 더 간결하고 가벼워요.
활성화 방법
sized_box_for_whitespace 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- sized_box_for_whitespace
대신 YAML 맵 문법으로 린트 규칙을 설정하고 있다면, linter > rules 아래에 sized_box_for_whitespace: true를 추가하면 돼요.
linter:
rules:
sized_box_for_whitespace: true