一、Widget
Flutter Widget采用现代响应式框架构建,中心思想是用widget构建你的UI。 Widget描述了他们的视图在给定其当前配置和状态时应该看起来像什么。当widget的状态发生变化时,widget会重新构建UI,Flutter会对比前后变化的不同, 以确定底层渲染树从一个状态转换到下一个状态所需的最小更改.
Flutter有一套丰富、强大的基础widget.
二、Widget生命周期
在Flutter里面万物皆是Widget,先介绍一下Widget的生命周期。但是说Widget的生命周期这个说法其实是不准确的。因为Widget分为StatefulWidget和StatelessWidget,可变的是StatefulWidget,它的可变又是通过修改State来完成的,在代码里面可以看到有@override标识的生命周期方法其实是在继承于State的状态类里面写的。所以说成是State的生命周期更加准确一点。
完整的生命如图所有的方法和分阶段执行的图解。
initState - 插入渲染树时调用,只调用一次
didChangeDependencies - state依赖的对象发生变化时调用
didUpdateWidget - 组件状态改变时候调用,可能会调用多次
build - 构建Widget时调用
deactivate - 当移除渲染树的时候调用
dispose - 组件即将销毁时调用