> For the complete documentation index, see [llms.txt](https://ryukiedev.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ryukiedev.gitbook.io/wiki/flutter/21.widget-de-sheng-ming-zhou-qi.md).

# 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 方法
