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

hyeon님의 프로필 이미지
hyeon

작성한 질문수

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

Timer에 Controller 사용하기

PageController를 initState()에서 사용할 수 있는 이유가 무엇인가요

작성

·

71

0

지난번 StatefullWidget 라이프사이클에서

  1. Constructor > 2. Create State > 3.InitState > 4. didChangeDependencies > 5. build 이라고 알려주셨습니다.

     

이번강의에서는 initState()에서 Pagecontroller.animateToPage를 사용하여 위젯을 컨트롤 하였는데요. 아직 빌드되지 않은 위젯을 어떻게 InitState에서 컨트롤할 수 있는건가요?

5단계 Build 단계에서 위젯에 컨트롤러를 할당한 이후에 사용할 수 있어야하지 않나요?

 

코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다!

[코드팩토리 디스코드]
https://bit.ly/3HzRzUM

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

0

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

안녕하세요!

아래 위치 말씀하시는게 맞을까요?

https://github.com/codefactory-co/flutter-lv1-inflearn-v2/blob/6a0fde4e797abc76fc2710e2f9fffd71d58f5ba1/section_12_image_carousel/image_carousel/lib/screen/home_screen.dart#L21C1-L37C7

initState에 Timer.periodic을 등록해서 주기적으로 실행되게 한거지 animateToPage()가 실행된건 아닙니다. 2초마다 실행되기 때문에 실행할때는 이미 build()가 실행된 상태이고 라이프 사이클이 완성된 상태입니다.

즉 controller가 이미 UI에 어싸인 돼있고 전혀 사용에 문제 없는 상태입니다.

혹시 답변이 되었을가요?

감사합니다!

hyeon님의 프로필 이미지
hyeon

작성한 질문수

질문하기