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

박근주님의 프로필 이미지
박근주

작성한 질문수

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

Timer에 Controller 사용하기

initState -> didChangeDependencies -> dirty -> build -> clean 라이프사이클 강의를 보고 궁금한건데

작성

·

171

0

내용은 전반적으로 이해가 됩니다.

질문내용은 print로 찍어봐서 라이프사이클은 initState -> build -> initState타이머만 작동하는거를 알 수 있었는데

initState에서 build로 갔으면 타이머가 작동을 어떻게 하나요?

initState에서 build로 가고 clean 후 deactivate로 안가고 initState 타이머로 가는 원리가 궁금합니다.

제가 머릿속으로 생각해봤을때는 initState 시작 후 마치 반복문 무한루프처럼 build로 갈 수 없고 계속 타이머 돌아가지 않나 싶어서요

답변 1

0

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

안녕하세요!

정확히 말하면 initState로 간게 아니라 Timer의 콜백 함수로 넘어간걸 말씀하신게 아닐까요!?

initState()는 항상 말씀드린대로 "한번만" 불립니다. 그렇기때문에 Timer의 콜백 함수가 등록 될 수 있었던거구요.

만약에 initState()가 여러번 실행이 됐다면 Timer가 실행되는 횟수가 계속 중첩돼야합니다(처음에 한번 그 다음엔 두번씩 그 다음엔 세번씩).

이렇게 설명드리면 이해가 되실까요?

감사합니다!

박근주님의 프로필 이미지
박근주

작성한 질문수

질문하기