-
StatelessWidget
是无状态组件,不需要状态改变,内部没有需要管理的状态,不需要自身的改变来做一些渲染:
例如:Container
,Text
,Icon
-
StatefulWidget
是动态组件,可以通过一些交互或者数据的改变做出形态变化
例如:Checkbox
,TextField
,Form
- 一个widget的状态保存在一个
State
对象里面,widget的状态是一些变量,当它改变的时候用State
对象调用setState()
重新绘制widget.
创建StatefulWidget
- 创建
StatefulWidget
的子类和一个State
的子类 -
State
类包含widget的可变状态和复写的build()
方法 - 当widget状态改变时,State对象调用
setState()
重绘