首页 > 解决方案 > 将 BuildContext 传递给非构建器方法

问题描述

我想知道传递我们在 build 方法中收到的 BuildContext 对象是否是个好主意?基本上将它传递给非构建器方法的地方。

例如,在 Provider 包的情况下,我可以将它传递给我的 ViewModel。这是一件好事吗?

还是会产生影响?

标签: androidiosflutterwebdart

解决方案


绕过BuildContext通常是一个坏主意。

这个对象不是用来传递的。如果您需要BuildContext,请创建一个新的(使用自定义StatelessWidgetBuilder)。

不这样做可能会导致难以调试的错误(例如导致 a ProviderNotFoundException),并且创建新的BuildContext而不是重用现有的可以提高性能。


推荐阅读