Flutter flatter中的上下文控件
我不明白Widget.of(上下文)是如何工作的,以及它是如何工作的。什么时候用?构建上下文到底是什么Flutter flatter中的上下文控件,flutter,dart,Flutter,Dart,我不明白Widget.of(上下文)是如何工作的,以及它是如何工作的。什么时候用?构建上下文到底是什么 .... ) return IconButton( icon: Icon(Icons.add), onPressed() { Scaffold.of(context).showSnackBar(snackBar) } ),``` 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中?为什么我不能直接进入脚手架的蛇栏?