-
Stateless widget vs Stateful widgetw4 2022. 9. 25. 22:36
Stateless widget
- State가 변경되지 않는 위젯
- rebuild 해야 새로운 State를 적용할 수 있음
(build method 호출 → UI 렌더링)
Stateful widget
- 변경된 상태를 반영하는 위젯을 만들 때 사용
- state가 변경되는 경우
- Child 위젯의 생성자를 통해서 데이터가 전달될 때
- inernal state가 변할 때
- StatefulWidget 위젯 클래스와
State 정보를 가진 클래스를 생성하여 연결함
Stateful Wiget 실행 프로세스
MyApp Stateful wiget 생성
→ MyApp Stateful element 생성
(메모리 상에 독립된 개체, MyAppState object에 대한 정보도 가지고 있음)
→ _createState method 호출
→ MyAppState object 생성 (MyApp Stateful wiget 과 간접적으로 연결)
→ setState method 호출 (상태변경 발생)
→ State object rebuild
→ MyApp Stateful wiget rebuild
→ MyAppState object 새로운 상태 저장 → 새로 생성된 MyApp Stateful wiget 로 연결Stateless 위젯 vs Stateful 위젯
- 공통점
- build 메소드를 통해 → 변경된 UI 렌더링 - 차이점
- stateless 위젯은
build 메소드에서 생성된 객체를 바로 반환 - stateful 위젯은
createState 메소드에서 생성한 객체를 반환함
- stateless 위젯은