본문 바로가기
Flutter/Flutter FAQ

Flutter 플러터에서 stateful 위젯과 stateless 위젯의 관계는 무엇인가요?, What is the relation between stateful and stateless widgets in Flutter?

by 베타코드 2023. 5. 26.
반응형

질문


상태가 있는 위젯은 수명 내에서 상태를 변경하는 모든 위젯으로 정의됩니다. 하지만 StatelessWidget은 자식 중 하나로 StatefulWidget을 가지는 것이 매우 일반적인 관행입니다. 만약 StatelessWidget이 자식 중 하나로 StatefulWidget을 가지면 StatelessWidget은 상태가 있는 위젯이 되지 않을까요?

StatelessWidget의 코드 일부로서 문서를 살펴보았지만, StatelessWidgetStatefulwidget을 자식으로 가질 수 있으면서도 여전히 StatelessWidget으로 유지하는 방법을 알 수 없었습니다.

Flutter에서 상태가 있는 위젯과 상태가 없는 위젯 간의 관계와 차이점은 무엇인가요?


답변


A <a href="https://docs.flutter.io/flutter/widgets/StatelessWidget-class.html" rel="noreferrer">StatelessWidget</a> will never <em>rebuild</em> by itself (but can from external events). A <a href="https://docs.flutter.io/flutter/widgets/StatefulWidget-class.html" rel="noreferrer">StatefulWidget</a> can. That is the golden rule.

BUT any kind of widget can be <em>repainted</em> any times.

<em>Stateless</em> only means that all of its properties are <em>immutable</em> and that the only way to change them is to create a new instance of that widget. It doesn't e.g. lock the widget tree.

But you shouldn't care about what's the type of your children. It doesn't have any impact on you.

반응형

댓글