flutter / context??

rO_Or·2024년 4월 17일

Dart 그리고 Flutter

목록 보기
12/19

Theme 정보나, navigator 정보 등을 가져올 때 context를 통해서 가져오게 되는데
이러한 정보는 현재 가장 가까운 부모의 정보를 가져오게 되는 걸로 알고 있다.

showDialog의 경우, useRootNavigator의 기본값이 true이기 때문에
가장 가까운 navigator 정보가 아닌 루트(최상위) 정보를 가져오게 되는 것 같다.

rootNavigator가 한 개라면, 큰 문제가 발생하지 않을 듯...
하지만 여러 개일 경우(shellRoute를 사용한다든지), 문제가 발생하는 것 같다.

그래서 Theme 정보를 가져올 때도 오류가 발생했던 게 아닐까.

useRootNavigator가 true일 때, 최상위 위젯(Material App)이 루트가 됐다.

useRootNavigator가 false일 때, 가장 가까운 위젯 트리의 부모(Profile)이 루트가 됐다.

profile
즐거워지고 싶다.

0개의 댓글