Widget 라이프 사이클

최정석·2023년 11월 23일
post-thumbnail

StatelessWidget 라이프 사이클

  • Constructor로 생성이 되고 생성이 되자마자 build 함수가 실행된다.
  • 위젯에 변경(색상.. 등)이 필요하면 새로운 위젯을 만들어버린다.
  • 하나의 StatelessWidget은 라이프 사이클동안 단 한번만 build 함수를 실행한다.

StatefulWidget 라이프 사이클

  • Constructor로 생성이 되고 State가 생성이 된다.
  • initState로 상태가 초기화 된다. 단 한번!
  • didChangeDependencies 함수가 불러와짐
  • Statedirty상태가 된다.
  • build가 실행된다.
  • clean이 실행된다.
  • dispose로 삭제가 된다.
  • 파라미터가 바뀌었을 때 didUpdateWidgetstatedirty 상태로 변경 후 build 실행
  • setState가 실행 되었을 때 statedirty 상태로 변경 후 build 실행

파라미터가 변경되었을 때는 새로운 StatefulWidget을 생성하지만
setState는 state내부에서 실행된다.

0개의 댓글