질문
상태가 있는 위젯은 수명 내에서 상태를 변경하는 모든 위젯으로 정의됩니다. 하지만 StatelessWidget
은 자식 중 하나로 StatefulWidget
을 가지는 것이 매우 일반적인 관행입니다. 만약 StatelessWidget
이 자식 중 하나로 StatefulWidget
을 가지면 StatelessWidget
은 상태가 있는 위젯이 되지 않을까요?
StatelessWidget
의 코드 일부로서 문서를 살펴보았지만, StatelessWidget
이 Statefulwidget
을 자식으로 가질 수 있으면서도 여전히 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.
댓글