如何知道我应该从 BLOC 或 Cubit 中选择啥

Posted

技术标签:

【中文标题】如何知道我应该从 BLOC 或 Cubit 中选择啥【英文标题】:How to Know what should I choose from BLOC or Cubit如何知道我应该从 BLOC 或 Cubit 中选择什么 【发布时间】:2021-06-19 17:12:42 【问题描述】:

最近我了解了 BLOC 架构模式。由此,我知道我有 2 个选择来使用 Bloc 或 Cubit,它们都发出新的状态,但 BLOC 对来自 UI 的事件做出反应,而 Cubit 用于从 UI 接收的函数。我知道 BLOc 比 Cubit 更先进。那么我如何准确地确定我应该使用 bloc 或 cubit 来处理应用程序的不同状态。

【问题讨论】:

【参考方案1】:

在此处查看演讲:https://github.com/felangel/bloc/issues/1444

BLoC 的主要优点是能够过滤大部分时间不需要的消息。搜索输入变化的去抖动是最常见的例子。

BLoC 会带来开销,在许多情况下不会带来任何价值。当你设计你的界面时,从 Cubit 开始是安全的。然后,您始终可以通过更改“setValue()”方法的内部结构来将数据添加到引擎盖下的流中,从而将其转换为 BLoC。如果您发现自己在 setter 中进行了过多的手动过滤,则可以这样做。

【讨论】:

以上是关于如何知道我应该从 BLOC 或 Cubit 中选择啥的主要内容,如果未能解决你的问题,请参考以下文章

调度第一个 bloc 事件或 cubit 方法,在 StatelessWidget 内的页面开始

如何保持我的bottomNavigationBar Cubit BLoc Flutter的状态?

在 Flutter 中使用 Bloc/Cubit 时绕过 CONTEXT

使用 Bloc/Cubit 进行 Flutter 状态管理

我需要处置cubit实例吗?

Flutter BLoC/Cubit STATE 类最佳实践