我很难理解Flutter中的元素是什么。在文档中:“在树中特定位置的窗口小部件的实例化”。
。 。 。我想现在我要问的是,那棵树是什么。
起初,我以为树是指小部件的状态,但是StatelessWidget也有createElement,所以情况似乎并非如此。然后,我以为树指的是 parent / child 的关系,但我不清楚。最后,听起来像元素在那个特定的时间和位置有点像小部件的快照,但是相关的方法似乎并不能反射(reflect)这一点。我在附近吗?
最佳答案
Flutter创建了一个可视化的Elements树,就像可变的Widget副本一样。框架通常不会直接处理Elements。
因此(非常简化的版本)您的树可能看起来像这样:
MediaQuery
-- Theme Data
---- Scaffold
------ AppBar
------ Body
--------- Column
----------- Text
----------- Text
----------- Row
------------- Button
------------- Button
------ FloatingActionButton
这些
Text
可能是多次重复使用的相同Widget
,但是在树中有唯一的Element
。