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