【发布时间】:2020-12-03 01:08:58
【问题描述】:
我想知道传递我们在 build 方法中收到的 BuildContext 对象是否是个好主意?基本上将它传递给非构建器方法的地方。
例如,在 Provider 包的情况下,我可以将它传递给我的 ViewModel。这是好事吗?
还是会产生影响?
【问题讨论】:
标签: android ios flutter web dart
我想知道传递我们在 build 方法中收到的 BuildContext 对象是否是个好主意?基本上将它传递给非构建器方法的地方。
例如,在 Provider 包的情况下,我可以将它传递给我的 ViewModel。这是好事吗?
还是会产生影响?
【问题讨论】:
标签: android ios flutter web dart
传递BuildContext 通常是个坏主意。
这个对象不是用来传递的。如果您需要BuildContext,请改为创建一个新的(使用自定义StatelessWidget 或Builder)。
不这样做可能会导致难以调试的错误(例如导致ProviderNotFoundException),创建一个新的BuildContext 而不是重复使用现有的可以提高性能。
【讨论】: