让 A 成为一个 InheritedWidget,我可以通过调用 A.of(context) 来获取整个应用程序。
如果我有 StatefulWidget,那么更好的选择是什么(就性能或代码质量而言):
一个)
class Test extends StatefulWidget {
@override
_TestState createState() => _TestState();
}
class _TestState extends State<Test> {
A a;
@override
Widget build(BuildContext context) {
a ??= A.of(context);
return Container();
}
}
二)
class Test extends StatefulWidget {
@override
_TestState createState() => _TestState();
}
class _TestState extends State<Test> {
@override
Widget build(BuildContext context) {
final a = A.of(context);
return Container();
}
}
我从未见过有人使用选项 A),所以我想知道。我更喜欢选项 A),因为 _TestState 类中的每个方法都可以轻松使用 a-Object,并且它在构建方法中也只分配一次。