kyuyoungheo / flutter-study

0 stars 0 forks source link

StatelessWidget안에 StatefulWidget 있어도 상관없나? #8

Open na-young-kwon opened 4 months ago

na-young-kwon commented 4 months ago

부모가 StatelessWidget이고 자식이 StatefulWidget일때 자식뷰가 업데이트 된다면? 부모뷰에 영향은 없는지? 자식뷰만 갱신 되는건지

kyuyoungheo commented 4 months ago

제 생각에는 자식 Stateful Widget의 뷰 업데이트 라이프사이클만 진행되고, 부모는 영향이 없을 것 같습니다. 아마도 부모 widget 중 자식 widget만 새로 렌더링되지 않을까요?

플러터도 Widget Tree라는 이름의 View Hierarchy 구성되는걸로 알고 있습니다.

Widget의 Lifecycle을 고려해보자면 Parent build() -> child createState() -> child initState() -> child build() -> child setState() -> child build() 이런 흐름일 것 같습니다.

제가 알기로는 StatelessWIdget인 Parent는 child가 rebuild() 되어도 Widget Tree상의 Child만 업데이트할뿐 Parent Widget그 자체는 변화가 없는 걸로 알고 있습니다.

실제로 Parent, Child Lifecycle에 프린트 찍어가면서 검증을 해볼 수 있을 것 같습니다.

나름 찾아본 내용을 적어봤느데 도움이 되었는지는 잘 모르겠네요. 질문 남겨줘서 고마워요. 덕분에 저도 궁금해져서 더 찾아보게 되었거든요. 혹시나 추가로 궁금한 점이나 제 코멘트에서 질문 있으시면 남겨주시면 감사하겠습니다.