파파비의 블로그

플러터, flutter) initState & didChangeDependencies > context를 쓰기 위해선...? 본문

개발/flutter

플러터, flutter) initState & didChangeDependencies > context를 쓰기 위해선...?

N. Dave 2020. 6. 6. 20:58
반응형

Navigator를 통해 PushNamed를 하면서 data를 보내게 되면, ModalRoute.of(context)~ 를 사용하여 data를 받게 되는데,

만약 그 data를 우리는 위젯 수명주기 함수인 init을 통해 초기화를 하고 싶다고 하더라고 할 수 없다.

이유는 init은 context가 형성되기 전에 미리 빌드 되기 때문이다.

 

그래서 그 init 직후에 build가 실행되기전, context는 완성됐을 때, 실행되는 함수인

didChangeDependencies에 context 관련 메소드들을 넣으면 된다.

 

아무튼 이 함수는 근데, setstate이 실행되거나 하면 자동으로 실행기도 하는데,

그래서 우리는 한번만 실행할 수 있도록 isInit Flag를 해두었다.

 

 

반응형
Comments