参考文章:
说说Flutter中最熟悉的陌生人 —— Key
Key
是Widget
、Element
和SemanticsNode
的标识符。 只有当新的Widget
的Key
与当前Element
中Widget
的Key
相同时,它才会被用来更新现有的Element
。 Key
在具有相同父级的Element
之间必须是唯一的。
通俗的说就是Widget
的标识,帮助实现Element
的复用。
Flutter中有三棵树,分别是Widget Tree、Element Tree 和 RenderObject Tree。
Widget: Element 的配置信息。与Element的关系可以是一对多,一份配置可以创造多个Element实例。
Element:Widget 的实例化,内部持有Widget和RenderObject。
RenderObject:负责渲染绘制。
网友评论