建议阅读本文之前,先阅读Flutter之Element Tree的构建过程详解
Flutter之BuilderContext和Widget关系浅析 博文中简单的说明了BuildContext、Element和Widget的逻辑关系:一个Widget对应一个Element,而Element就是Widget的BuildContext
通过该片博客可以知道Widget
提供了一个createElment的抽象方法:
class Widget {
Element createElement();
}
在Widget中有如下几种常见的Widget,其继承关系如图所示:
因为一个Widget
对应一个Element
,所以Element
的结构图如下所示: