学 Flutter 不理解 Widget/Element/Render 三棵树?啥也不是!
Posted 承香墨影
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学 Flutter 不理解 Widget/Element/Render 三棵树?啥也不是!相关的知识,希望对你有一定的参考价值。
一、导语
Hi,大家好,这里是承香墨影!
Flutter 是 Google 发布的跨平台 UI 框架,而其中与 UI 相关的,最重要的就是 Widget & Element & RenderObject 这三棵树。
初入门的时候,会以为三棵树的节点,都是一一对应的,后来才知道并非如此。
我们在代码中写的 Widget,在运行时,会依据使用的属性「膨胀」出多个子节点结构,而他们才是真实的与 Element 对应的结构,而到了 RenderObject 又被收敛了,只有绘制类的 RenderObjectWidget 才会最终生成 RenderObject 节点,组成 RenderObject Tree,渲染到 UI 上显式。
而这一些的细节 Flutter Framework 都帮我们实现了,我们只需要跟着代码的流程去了解即可。
以上是关于学 Flutter 不理解 Widget/Element/Render 三棵树?啥也不是!的主要内容,如果未能解决你的问题,请参考以下文章