首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MultiBlocProvider滥用案例

MultiBlocProvider滥用案例
EN

Stack Overflow用户
提问于 2022-08-07 00:47:14
回答 1查看 76关注 0票数 1

我们知道,我们需要将BlocProvider实例放在小部件树的部分上,我们希望在这个部分中获取访问数据。如果我们在整个树的顶部使用所有的BlocProvider实例,那么即使是大多数实例也只对树的一些小的底部部分是必需的。它是否被认为是错误的,因为我们每次调用它时都会在整个树之间传递数据(尽管这是不必要的),或者将所有的blocProvider放在最上面和只将BlocProviders放在适当的树状部件上会有零的性能差异。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 05:54:43

由于几个原因,把所有的东西都放在树顶被认为是不好的做法。它打破了几个常见的良好编程实践,其中包括坚实的。例如,应用程序中的所有变量和类实例都不是全局变量。

在性能方面,yes可能会对性能产生负面影响。如果和多少当然是不可能在手之前说,因为这取决于有多少,区块做什么,如何使用,等等。

有些人显然应该在顶端,所以他们应该是。但不是全部。因此,只在需要它们的地方提供它们,因为这将更好地提高性能,并使您的代码更加简洁。

编辑:

这是颤振集团的创造者(费利克斯·安吉洛夫)说的:

全球提供所有区块的主要缺点是:

块从未关闭过,因此它们正在消耗资源,即使当前小部件树BlocProvider

  • 没有使用它们,也可以从任何地方访问块,即使区块的状态范围仅限于特定的功能

  • ,这些块通常需要某种“重置”事件才能恢复到初始状态,如果它们被正确地限定作用域并由

  • 自动释放的话,这是不必要的。

我的建议是为每个特性创建一个单元,并且只提供给需要它的特定子树。希望这有帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73264194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档