BuildContext 方法一览

6 阅读1分钟

BuildContext 方法一览

BuildContext context;  
  
// 从当前 context 开始,向上遍历 Widget 树,查找第一个匹配类型 T 的 State 对象;  
context.findAncestorStateOfType<T extends State>();  
  
// 与 findAncestorStateOfType 类似,但是会一直向上遍历直到根节点,返回最顶层匹配的 State 对象;  
context.findRootAncestorStateOfType<T extends State>();  
  
// 向上查找第一个匹配类型 T 的 RenderObject(即渲染树中的对象);  
context.findAncestorRenderObjectOfType<T extends RenderObject>();  
  
// 向上查找第一个类型严格匹配 T 的 Widget 实例(不包含子类);  
context.findAncestorWidgetOfExactType<T extends Widget>();  
  
// 找最近的 InheritedWidget 类型 T 的实例,并建立依赖关系(当该 InheritedWidget 更新时,会触发当前 BuildContext 重建);  
context.dependOnInheritedWidgetOfExactType<T extends Widget>();