플러터의 생명주기

2023. 10. 10. 20:18플러터

initState를 보고 실행할 경우 처음 한번 타는 것은 단어만 봐도 예측이 가능하다

폼디에서도 사용한 라이프 사이클의 init도 동일하기 떄문이다

다만 다른 상태는 어떠한 것이 있는지 정확히 모르는 나이기 때문에 생명주기에 대해 찾아보았다

 

createState()

mounted == true

initState()

didChangeDependencies()

build()

didUpdateWidget()

setState()

deactivate()

dispose()

mounted == false

 

위의 단계가 플러터의 라이프 사이클이라고 한다

몇몇개는 언뜻 봐도 추측이 가능하다 몇몇 주기는 추측이 어려워서 찾아보았다

 

createState() : stateful 위젯을 만드는 주기로 state의 인스턴스 반환

mounted == true : initState보다 먼저 행해지는 단계로 initState에서 mounted를 체크하는 이유다

initState() : 최초 한 번만 호출 되는 단계

didChangeDependencies() : 데이터 객체가 호출될 경우, 업데이트되는 위젯을 상속한 경우로 API 호출이 예시다

build() : 렌더링 과정으로, UI위젯에 렌더링 될때마다 호출

didUpdateWidget() : 위젯을 재구성해야하는 경우로, 호출 후에는 항상 build를 탐

setState() : 데이터가 변경됨을 알리는데 사용되며, 동기적인 callback에 자주 사용

deactivate() : state가 제거될 경우 호출되며 코스트가 저렴하여 자주 호출할 수 있다함

dispose() : state 객체가 영구히 제거된 경우

mounted == false

 

확인하고나니 다양하게 사용할 방도들이 떠오르는 것을 보아 찾아보기 잘한듯하다

다음 토이 프로젝트때는 적극적으로 사용해봐야겠다