Stateless 위젯이 Stateful 보다 들어가는 수고가 덜 하다 보니, 고민이 될 때 Stateless 위젯을 사용하고 싶을 때가 많다.
두개의 차이점에 대해서는 이론적으로는 알았으나 체감을 잘 못하고 있었던 탓도 있다.
테스트 프로젝트 도중 Stateless 위젯을 Stateful 위젯으로 변경해야 하는 상황이 생겼고, 일을 두번 하게 되어 기록차
남기게 되었다.
1. 두개의 가장 큰 차이점 요약
- Stateless 위젯은 위젯을 다시 그리는 상황이 오면, 전부 초기화 하고 새로 그린다 (해당 클래스의 맴버변수 또한 초기화 된다!)
- Stateful 위젯은 State가 별도로 존재 하므로, 위젯을 다시 그리는 상황에서는 State 클래스가 초기화 되나 (또한 해당 맴버변수도)
Stateful 위젯 자체는 초기화 되지 않는다!!
즉 다시 말해, 맴버변수의 값을 계속 유지해야 하는 상황이 온다면, Stateful 위젯을 사용해야 하고, 해당 변수는 Stateful 위젯 클래스에
있어야 한다. (State 클래스에서는 widger.변수명 으로 접근하여 사용)
'Flutter' 카테고리의 다른 글
| MainAxisAlignment, CrossAxisAlignment (Row, Column 정렬) (0) | 2023.05.16 |
|---|---|
| TextField 위젯 사용법과 유의점 (중요!) (0) | 2023.04.26 |
| State 클래스 에서 Stateful 클래스 맴버변수 접근법 (0) | 2023.04.26 |
| 페이지 이동 (Navigator, Route) (0) | 2023.04.19 |
| 가장 첫번째 스탭 : VSCode 에서 플러터 프로젝트 생성 및 빌드 (0) | 2023.04.18 |