我们知道,我们需要将BlocProvider实例放在小部件树的部分上,我们希望在这个部分中获取访问数据。如果我们在整个树的顶部使用所有的BlocProvider实例,那么即使是大多数实例也只对树的一些小的底部部分是必需的。它是否被认为是错误的,因为我们每次调用它时都会在整个树之间传递数据(尽管这是不必要的),或者将所有的blocProvider放在最上面和只将BlocProviders放在适当的树状部件上会有零的性能差异。
发布于 2022-08-07 05:54:43
由于几个原因,把所有的东西都放在树顶被认为是不好的做法。它打破了几个常见的良好编程实践,其中包括坚实的。例如,应用程序中的所有变量和类实例都不是全局变量。
在性能方面,yes可能会对性能产生负面影响。如果和多少当然是不可能在手之前说,因为这取决于有多少,区块做什么,如何使用,等等。
有些人显然应该在顶端,所以他们应该是。但不是全部。因此,只在需要它们的地方提供它们,因为这将更好地提高性能,并使您的代码更加简洁。
编辑:
这是颤振集团的创造者(费利克斯·安吉洛夫)说的:
全球提供所有区块的主要缺点是:
块从未关闭过,因此它们正在消耗资源,即使当前小部件树BlocProvider
我的建议是为每个特性创建一个单元,并且只提供给需要它的特定子树。希望这有帮助
https://stackoverflow.com/questions/73264194
复制相似问题