无状态Widget和有状态Widget
StatelessWidget无状态Widget
Stateless widgets 是不可变的, 这意味着它们的属性不能改变——所有的值都是最终的。
如果无状态Widget里面有子Widget,并且子Widget是有状态的,则子Widget的内容是可以通过setState来更改的。无状态Widget影响的仅仅是自己是无状态的,不回影响他的父Widget和子Widget。
class LessWidgetApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text('this is StateLessWidget');
}
}
StatefulWidget有状态Widget
Stateful widgets 持有的状态可能在widget生命周期中发生变化。
class FulWidgetAppp extends StatefulWidget {
@override
_FulWidgetApppState createState() => _FulWidgetApppState();
}
class _FulWidgetApppState extends State<FulWidgetAppp> {
@override
Widget build(BuildContext context) {
return Text('this is StatefulWidget');
}
}