
回复
StatelessWidget是什么?
继承自Widget,状态不可变,用于描述UI展示中相对固定的部分,如纯展示,不会被改变的UI。
通过其类的定义能够看到StatelessWidget配置StatelessElement。
方法概述
build方法:
描述:用于描述当前widget所代表的UI。
调用时机: framework会使用build方法返回的widget注入当前StatelessElement或通过Widget.canUpdate选择合适的更新方式。
场景: build可能在如下三种场景会被调用。
总结
StatelessWidget通过StatelessWidget.createElement()创建了StatelessElement,StatelessElement关联了StatelessWidget,并使用StatelessWidget配置自身。其中StatelessElement将其build方法通过关联的widget外放到StatelessWidget的实现中。因而他的生命周期依赖于StatelessElement,而StatelessElement的生命周期相对简单只有build,update。
为了能更好的理解StatelessWidget的生命周期,我画了一张关于StatelessElement、Component、Element的关系图。
作者:QiShare
来源:掘金