# 21.Widget的生命周期

### StatelessWidget

* 构造方法
* Build方法

### StatefulWidget

* Widget 的构造方法
* Widget 的 createState 方法
* State 的构造方法
* State 的 initState 方法
* State 的 didChangeDependencies 方法
  * 依赖的 InheritedWidget （共享数据） 发生变化后 didChangeDependencies 才会调用
* State 的 build 方法
  * 当调用 setState ，会重新调用 Build 进行渲染
    * setState 内部主要是利用 \_element 调用 markNeedsBuild
* Widget 销毁的时候，调用 State 的 dispose 方法
