import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: MediaQuery.of(context).size.width,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const TestWidget(label: 'test1'),
// 앱 실행하는동안 단 한번만 그려 놓으면 다음에 빌드 실행 시 이미 그려놨던 위젯을 기억하고 다시 실행하지 않아도 됨
const TestWidget(label: 'test2'),
ElevatedButton(
onPressed: () {
setState(() {});
},
child: const Text(
"build!",
),
)
],
),
),
);
}
}
class TestWidget extends StatelessWidget {
final String label;
const TestWidget({
required this.label,
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
print("$label bulid 실행!");
return Container(
child: Text(
label,
));
}
}
const 사용 이유
: 앱 실행하는동안 단 한번만 그려 놓으면 다음에 빌드 실행 시 이미 그려놨던 위젯을 기억하고 다시 실행하지 않아도 됨
화면 구성을 위해 빌드를 계속 실행하는 특성 상, const 사용하면 성능에 도움이 됨
-> const를 사용해도 되는 경우, 꼭 해주는 게 좋음 !
'CS > Flutter | Dart' 카테고리의 다른 글
Flutter Button 스타일링 - ElevatedButton, OutlinedButton, TextButton (0) | 2023.07.25 |
---|---|
랜덤 숫자 생성기 (0) | 2023.07.24 |
커플 디데이 어플 만들기 (0) | 2023.07.20 |
Dart DateTime (0) | 2023.07.19 |
Photo Slide Show App (0) | 2023.07.19 |