android - 将 BuildContext 传递给非构建器方法
问题描述
我想知道传递我们在 build 方法中收到的 BuildContext 对象是否是个好主意?基本上将它传递给非构建器方法的地方。
例如,在 Provider 包的情况下,我可以将它传递给我的 ViewModel。这是一件好事吗?
还是会产生影响?
解决方案
绕过BuildContext
通常是一个坏主意。
这个对象不是用来传递的。如果您需要BuildContext
,请创建一个新的(使用自定义StatelessWidget
或Builder
)。
不这样做可能会导致难以调试的错误(例如导致 a ProviderNotFoundException
),并且创建新的BuildContext
而不是重用现有的可以提高性能。
推荐阅读
- webpack - css-loader 没有使用 postcss-loader/postcss 语法
- python - 如何使用 .startswith 在数据框中创建新变量?
- javascript - 在 Node 中设置 Selenium 需要 Layman 术语答案
- python-3.x - 确保一种类型的用户不能以另一种类型的用户 django 登录
- reactjs - React 是否有更好的方法来确定 props 是否存在
- node.js - 如何解决这个错误 indexhtml :Uncaught ReferenceError: require is not defined in electron
- autocomplete - 在 Raspberry pi 上搜索 chromium 时出现 autoComplete.js 问题
- bash - 简单的 Bash 文件搜索和复制
- mysql - mysql - 同一行更新查询发生死锁
- python - Python - 数组长度必须相同