본문 바로가기

CS/Flutter | Dart

StatefulWidget

Widget 이론

위젯은 모두 불변의 법칙 가짐

하지만 위젯의 값을 변경해야 할 때가 있음

변경이 필요하면 기존 위젯 삭제하고 완전 새로운 위젯으로 대체

 

 

Stateless: 상태 없고, 변화 없는 위젯

한 번만 빌드
한번만 그리고 다시 그리지 않는다는 의미

-> Life Cycle 없고 관리 용이

 

 

Stateful: 상태 있고, 액션 변화 있는 위젯

상태 변경됨에 따라 빌드 여러번

 

 

StatefulWidget Life Cycle

Constructor로 생성되고 생성 되자마자 build 함수 실행

이전 Container 예제와 마찬가지로 변경이 필요하면 새로운 위젯 만들어버림

하나의 StatefulWidget은 라이프 사이클동안 단 한번만 build 함수 실행

 

  • createState()
  • mounted == true
  • initState()
  • didChangeDependencies()
  • build()
  • didUpdateWidget()
  • setState()
  • deactivate()
  • dispose()
  • mounted == false

 

StatefulWidget Life Cycle

 

 

위젯 색상 바뀌는 앱에 앱바 등 배운 것 추가 구현해 보기 😽

 

 

컨테이너 속 숫자 카운팅 부분도 텍스트 스타일 추가 구현

 

statefulWidget은 삭제 후 새로 만들어지지만 state는 사라지지 않고 새로 생긴 statefulWidget에 붙음

Delete Widget하면 state도 삭제됨(카운트 다시 0)

 

 

 

 

 

'CS > Flutter | Dart' 카테고리의 다른 글

Dart DateTime  (0) 2023.07.19
Photo Slide Show App  (0) 2023.07.19
webview 4.0.2 ver.  (0) 2023.07.17
webview, javascriptMode, controller  (0) 2023.07.17
Row, Column 실습  (0) 2023.07.17

Tiny Star