강의

멘토링

커뮤니티

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

tndms1027님의 프로필 이미지
tndms1027

작성한 질문수

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

controller 관련 질문입니다.

작성

·

254

·

수정됨

0

initState에서 Timer에서 controller.animateToPage를 통해 아래 build의 PageView controller를 제어하게 되는데,

 

이 때 Stateful LifeCycle 시점으로 봤을 때 저는 Timer가 동작하면서 계속해서 build가 실행되는줄 알았는데 print를 해보니 build는 한번만 출력이 되었는데 계속해서 build가 발생하는 것은 아닌게 맞는걸까요??

 

(controller.animateToPage 로 인해서 PageView를 제어하는게 맞으나 build는 한번만 된다로 이해하면 될까요??)

답변 1

1

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

안녕하세요!

직접 제작하신 위젯에서 build() 함수를 출력하셨을거라고 보입니다. 이경우 당연히 build()가 재실행되지 않습니다. PageView가 생성되는 과정과 PageView "내부에서" 이뤄지는 build()는 관련이 없기 때문입니다.

PageView에서 화면을 전환하기위해 렌더링을 반복적으로 작업하는 부분은 PageView 위젯 내부에 있을겁니다. 그러니 상위에서 해당 액션을 출력해볼 수 있는 방법은 없습니다.

tndms1027님의 프로필 이미지
tndms1027
질문자

아! build()가 반복적으로 이뤄지긴하나 이는 PageView 내에 있는 build()가 반복되는 것이다!

이해했습니다!!!

빠르게 답변주셔서 감사합니다! 남은 강의도 열심히 듣겠습니다!

tndms1027님의 프로필 이미지
tndms1027

작성한 질문수

질문하기