작성
·
146
·
수정됨
1
선생님~ 위 코드에서 궁금한 점이 있는데요,
bottomInset 변수에 할당되는
MediaQuery.of(context).viewInsets.bottom 는 프레임워크단에서 값의 변화가 있을때마다 꾸준히 값을 injection 해주는 것인가요? print로 찍어보니 bottomsheet가 올라오는 동작 중에도 지속적으로 값이 찍히더라구요.
HomeScreen위젯(stateFul)에서 어떻게 `final bottomInset`의 변화를 감지해서 다시 ScheduleBottomSheet(Stateless) 를 빌드 할 수 있는지도 궁금합니다.
Calendar위젯처럼 HomeScreen위젯(stateFul)에서 ondaySelected함수를 인자로 넘겨받아서 setState가 실행되는 것도 아닌데, build가 되면서 bottom페딩이 실시간으로 적용되는게 이해가 가지 않습니다.
강의 잘 보고 있습니다. 도움주시면 감사드리겠습니다~
답변 1
0
안녕하세요!
1) 맞습니다. 프레임워크에서 제공해주는 .of 생성자를 사용하는 값은 대부분 그렇다고 보시면 됩니다.
2) 제 상태관리 섹션이 기억나시나요? .of 생성자를 사용하는 프레임워크 기본 제공 클래스들은 didChangeDependencies를 실행하게 됩니다. 차트에서도 볼 수 있는 것 처럼 didChangeDependencies가 실행되면 build() 함수가 실행됩니다. (물론 이름뿐이기 때문에 .of라고 이름을 짓고 아예 다른 기능을 구현할수도 있지만 프레임워크에서 기본으로 제공되는 .of 생성자는 대체적으로 그렇습니다.)
감사합니다!