Flutter Widgets Element RenderObject 三者的区别和联系

2 min read

Element 是 Widget 的具化,Widget 和 Element是一一对应的,在构造 Element 的时候就已经完成了两棵树的关联,Element 的 mount 方法形成了 Element 树。

每一个 Widget 都会有一个 Element 相对应,但是只有渲染类型的 Widget 才会有 RenderObject。所以官方文档有一句话 trictly speaking, the RenderObject tree is a subset of the Element tree,RenderObject 树是 Element 树的子集。