Working with didChangeDependencies() in Flutter - Kindacode
꿈을이루다 스터디에서 위 내용이 나와서 공부를 해봤다.
didchangeDependencies ()는 Stateful 위젯의 생명주기에서 initSate( ) 다음으로 실행이 된다.
context를 intState(), build 안에서 사용이 어려울 때 didchangeDependencies가 사용된다.
해당 사례가 있다.
initState에 MediaQuery.of(context) 함수를 사용했지만 initState가 context 보다 우선적으로 빌드가 되어서
에러가 발생하게 된다. 그럴 때 didchangeDependencies를 사용한다.
플러터(Flutter) - initState에서 context(BuildContext) 사용하기 : 네이버 블로그 (naver.com)
그리고 InheritedWidget 에 의존하는 경우 업데이트를 한다.
build 는 항상 didChangeDependencies 호출 후에 실행이 된다. 잘 사용하지 않지만 BuildContext.inheritFromWidgetOfExactType 을 호출하기 위해서 첫단계 시작점이다.
이건 데이터를 상속받는 위젯의 변경사항을 리스닝 하게 만든다.
이 함수는 상속된 위젯이 업데이트를 하는 경우 당신이 네트워크 호출이라던가 그런 코스트가 많이 드는 액션을 할 때 유용하다.
아래 페이지에서 참고했다.
[Flutter] Stateful Widget Lifecycle :: 올해는 머신러닝이다. (tistory.com)
더 딥한 내용은 아래 스택오브플로우에 있다.
flutter - What is the difference between didChangeDependencies and initState? - Stack Overflow
'Flutter-플러터 > 플러터 공부' 카테고리의 다른 글
flutter radio 버튼 사용하기 (0) | 2023.01.14 |
---|---|
TextFormField 커서 관리 : FocusNode (0) | 2023.01.14 |
Flutter ListView : physics (0) | 2023.01.01 |
Flutter Map 1 - 얇은 복사 와 깊은 복사 (0) | 2022.12.26 |
firebase flutter 정리 (0) | 2022.12.25 |