[Flutter] widget(위젯)

박유민·2024년 2월 27일

Flutter

목록 보기
3/4
post-thumbnail

widget은 불변의 법칙을 가지고 있다.
그러므로 위젯의 변경이 필요하면 기존 위젯은 삭제되고, 새로운 위젯으로 대체한다.

1. StatelessWidget Life Cycle (생명 주기)

  • constructor로 widget이 생성
  • build 함수 실행(life cycle동안 단 한번만 실행)
  • widget의 변경이 일어나면 처음부터 constructor와 build가 실행되는 방식

 

2. StatefulWidget Life Cycle (생명 주기)

  • 기본

  1. StatefulWidget의 constructor에서 createState()를 호출하고 State 생성
  2. State에서 initState()로 초기화
  3. didChangeDependencies()가 호출되어 변경이 필요한 dirty 상태로 변환
  4. build()가 호출되어 화면에 UI를 그리고 clean 상태로 변환

 

  • 파라미터 변경

  1. 파라미터가 변경되면 widget이 삭제됨(widet은 불변)
  2. 새로 생긴 widget의 constructor는 실행되지만, 삭제된 State를 찾아서 재활용하기 때문에 createState는 실행되지 않음
  3. didUpdateWidget()이 호출되어 dirty 상태로 변환
  4. 변경된 값들을 기반으로 build() 호출되어 UI 생성 후 clean 상태로 변환

 

  • setState 실행

  1. setState() 호출되면 dirty 상태로 변환
  2. 변경된 값들을 기반으로 build() 호출되어 UI 생성 후 clean 상태로 변환
profile
<FullStackDeveloper />

0개의 댓글