목차
반응형
안녕하세요!
플러터 샘플 앱 분석의 일환으로 상태 변경에 대해 알아보겠습니다.
상태 변경
- State 클래스에는 주로 상태를 저장할 변수들과 그 변수를 조작할 메서드를 작성함
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(... 생략...);
}
}
- 정수형 _counter는 0으로 초기화되어 있고, _incrementCounter() 메서드는 setState() 메서드를 실행함
- setState() 메서드는 전달된 익명 함수를 실행한 후 화면을 다시 그리게 하는 역할
- 화면은 build() 메서드가 실행되면서 그려짐
- 즉, setState() 메서드는 build() 메서드가 다시 실행되게 하는 역할, setState() 메서드는 State 클래스가 제공하는 메서드
- 정리하면 MyHomePage 클래스는 StatefulWidget의 서브클래스이며 상태를 가질 수 있음, 그리고 그 상태는 State 클래스의 서브클래스로 정의함
- 여기서 변경 가능한 상태는 _counter 변수이며, 이 값이 변경될 때마다 화면을 다시 그리면 동적인 화면을 가진 앱이 됨
반응형
'자기계발 > IT' 카테고리의 다른 글
[Flutter/플러터] 플러터 위젯에서 위젯으로 값 전달 (9) | 2023.03.19 |
---|---|
[Flutter/플러터] 플러터 StatefulWidget 클래스 알아보기 (39) | 2023.03.16 |
[Flutter/플러터] 플러터 MaterialApp 클래스 알아보기 (25) | 2023.03.13 |
[Flutter/플러터] 플러터 StatelessWidget 클래스 알아보기 (9) | 2023.03.13 |
[Flutter/플러터] 플러터 샘플 앱 분석하기 (27) | 2023.03.10 |