Flutter
Flutter 기본_StatelessWidget과 StatefulWidget
flutter 개발하자
2021. 2. 15. 09:42
StatelessWidget
- 이름 그대로 상태(State)를 갖지 않는 위젯 클래스
-> StatelessWidget 클래스 내부의 모든 UI 위젯들은 상태를 가질 수 없음
-> 상태가 없으니 상태의 변화를인지할 필요도 없고, 할 수도 없음
-> 그래서 화면이 생성될 때 한 번만 build 메서드를 호출해 화면을 구성한 후에는 build 함수가 다시 호출되지 않음
즉, StatelessWidget은 변화가 필요없는 화면을 구성할 때 사용하는 위젯 클래스이며, build 메서드는 한 번만 호출됨
StatefulWidget
- 이름 그대로 상태(State)를 갖는 위젯 클래스
-> StatefulWidget 클래스 내부의 모든 UI 위젯들은 상태를 갖음.
-> setState() - StatefulWidget 내부의 상태를 변경할 때 사용하는 메서드
(setState()에서 변경된 상태 값을 플랫폼에 전달해 build 메서드가 호출되도록 함.)
즉, StatefulWidget은 화면의 구성이 상태 변화에 따라 재구성되어햐 할 때 사용하는 위젯 클래스임.
또한 StatefulWidget의 상태 변경은 setState메서드를 이용해서 변경해야함.
setState메서드가 호출될 때마다 build 메서드를 재호출해 화면을 다시 그림.