flutter如何获取context
时间: 2023-10-10 19:09:32 浏览: 211
【flutter老司机分享①】flutter 无context弹出层
在Flutter中获取`context`主要有两种方法:
1. 在Widget树中使用`BuildContext`参数
在Flutter的Widget树中,每个Widget的`build`方法都会传入一个`BuildContext`参数,可以通过这个参数获取到当前Widget所属的上下文`context`。例如:
```dart
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 获取当前Widget所属的上下文context
return Container();
}
}
```
2. 在StatefulWidget中使用`BuildContext`属性
如果在一个`StatefulWidget`中需要频繁地使用`context`,可以在`State`中定义一个`BuildContext`属性,并在`build`方法中将当前Widget所属的上下文赋值给该属性。例如:
```dart
class MyStatefulWidget extends StatefulWidget {
@override
_MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
BuildContext _context;
@override
Widget build(BuildContext context) {
_context = context;
return Container();
}
}
```
以上两种方法都可以获取到`context`,根据实际需要选择使用。
阅读全文