InheritedWidget是否通过explained in this video的构建演练将数据传递给其子代?或如何运作?表现如何? 因为我意识到只有在build方法中以及依赖项发生更改时才能从InheritedWidget中获取信息。
答案 0 :(得分:1)
此视频讲述的是完全不相关的内容。这是关于如何计算布局的。
至少可以说, InheritedWidget
相当有表现。如inheritFromWidgetOfExtactType
的文档所述:
调用此方法的原因是常数较小的O(1)
这意味着任何窗口小部件都可以直接访问任何InheritedWidget
。
相比之下,与State
:ancestorStateOfType
的等效项是O(N)。
因为它必须遍历整个树才能找到所需的State
实例。
在引擎盖下,InheritedWidget
用Map<Type, InheritedElement>
表示某处
然后,在调用inheritFromWidgetOfExactType
时,访问所需值就像map[type]
一样简单。