Flutter flatter中的上下文控件

Flutter flatter中的上下文控件,flutter,dart,Flutter,Dart,我不明白Widget.of(上下文)是如何工作的,以及它是如何工作的。什么时候用?构建上下文到底是什么 .... ) return IconButton( icon: Icon(Icons.add), onPressed() { Scaffold.of(context).showSnackBar(snackBar) } ),``` of()获取小部件树中最近的小部件。它在树中向上遍历(通过上下文)并查找小部件。你的例子中的脚手架。或者更详细地说是从图标按钮向上最

我不明白Widget.of(上下文)是如何工作的,以及它是如何工作的。什么时候用?构建上下文到底是什么

....
)

return IconButton(
   icon: Icon(Icons.add),
   onPressed() {
      Scaffold.of(context).showSnackBar(snackBar)
   }
),```

of()获取小部件树中最近的小部件。它在树中向上遍历(通过上下文)并查找小部件。你的例子中的脚手架。或者更详细地说是从图标按钮向上最近的支架。

这里你想显示一个
snackbar
Scaffold
是一个知道如何绘制
snackbar
的小部件,因此首先,你需要获取小部件的支架,然后告诉它显示
snackbar
,这可以通过使用()

.of()
返回继承小部件的状态。通过使用
Scaffold.of(context)
您试图在小部件树的更高级别获取Scaffold小部件的状态


这篇文章对.of()函数以及BuildContext的确切含义做了一些很好的解释。

它是否找到了Scaffold小部件并将snackBar插入到Scaffold中?为什么我不能直接进入脚手架的蛇栏?