flutter 流生成器与带事件块

q3qa4bjr  于 2023-01-09  发布在  Flutter
关注(0)|答案(1)|浏览(142)

问题是为什么我们在流和blockbuilder中使用Bloc,而不是只在流和流builder中使用?我想知道我可以在无状态的小部件中使用流builder吗?流builder可以重建所有的构建方法或只 Package 它的小部件吗?当我使用控制器时,我可以在无状态的小部件中使用blockbuilder吗?如果可以,我应该在什么时候关闭控制器?

BlocBuilder<BlocA, BlocAState>(
  builder: (context, state) {
    // return widget here based on BlocA's state
  }
)```
ev7lccsx

ev7lccsx1#

首先,我希望您阅读bloc文档中的这段内容。
BlocBuilder与StreamBuilder非常相似,但有一个更简单的API来减少所需的样板代码量。
StreamBuilder基于Stream, and the BlocBuilder,基于类似于屏幕的立方体和块。
但是,首先使用Bloc库的主要目标是实现BloC(业务逻辑组件)模式,该模式将您的项目分为表示层、业务逻辑层和数据层。
这个bloc库使你的项目遵循BlocC模式,没有层应该知道其他,这将使你的项目更清洁和可维护的工作,编辑,升级,和分析...
使用StreamBuilder,它所能做的就是侦听Stream,并基于它构建一个widget-sub树。例如,您的项目逻辑将位于视图内部,而在另一个地方,则是数据层,这导致了绝对的混乱。现在想象一下,如果您有一个中级或大型flutter项目,您只想更改某个文件中的方法名称,我敢肯定,在找到它之前,您会迷失方向,因为您的项目没有遵循任何体系结构。
使用BlocBuilder将给予与StreamBuilder相同的重建功能,但是您的项目将是良好的架构,并且一切都是有组织的,表示/视图层现在将与您的逻辑无关,数据层也是如此。

相关问题