강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dubai님의 프로필 이미지
dubai

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

suer.initState(), super.dispose(), super.deactivate() 등의 함수의 위치가 궁금합니다

작성

·

649

·

수정됨

0

안녕하세요.

initState(), didUpdateWidget(), deactivate(), dispose() 등의 함수에서 super.initState(), super.didUpdateWidget(), super.deactivate(), super.dispose() 함수를 호출하는데 이 때 다른 코드와의 순서는 상관이 없는건가요? 아니면 어떤 차이가 있는걸까요?

예를 들어

print('initState 실행!');
super.initState();

super.initState();
print('initState 실행!');

의 차이가 궁금합니다.

 

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

둘의 차이는 다른 함수와 똑같습니다. 먼저 작성한 함수가 먼저 실행됩니다.

작성해주신 코드의 첫번째는 부모클래스의 initState가 실행되기 전에 프린트를 먼저 하신거고

두번째 코드는 initState 실행 후에 프린트를 진행하신겁니다.

위젯 라이프사이클에서 일반적으로는 dispose와 deactivate등 삭제하는 라이프 사이클을 제외하면 부모 함수를 먼저 실행하고 추가 로직을 작성합니다.

dubai님의 프로필 이미지
dubai

작성한 질문수

질문하기