Flutter 中的 BLOC 模式是什么?

What is BLOC patten in flutter?

我想了解集团模式,但无法理解。 浏览了很多教程,但无法正确理解。我刚刚明白

  1. bloc 模式用于管理应用程序的状态。和

  2. 对于输入,使用接收器,对于输出,我们通过流控制器使用流。

不确定我是错了还是对了。

但显而易见的是,仅仅了解集团模式是不够的。

用简单的语言解释。

  • Bloc makes it easy to separate presentation from business logic, making your code fast, easy to test, and reusable.
  • Bloc attempts to make state changes predictable by regulating when a state change can occur and enforcing a single way to change state throughout an entire application.

大家可以多看here,很容易理解

这是一种在您的逻辑与 UI 之间进行通信并根据您的逻辑更改 UI 的方式,反之亦然 在 flutter 中,您将需要根据某些逻辑更改小部件的(用户界面),例如,如果用户单击 A,则显示 B 文本,反之亦然,例如,如果年份是 2020,则向用户显示 2020 文本 bloc 只是一个可以帮助您完成此任务的模式(有一些积极的和一些消极的观点)并且除了 bloc 之外还有很多模式可以为您完成这项工作

您可以研究一下状态,什么是状态管理以及我​​们为什么需要它?在 flutter 文档的状态管理部分 link 这里:

bloc 库的官方文档也是开始学习 bloc 的好地方。 link 这里 :

BLOC 是另一种状态管理模式,被许多人用于 flutter 和 angular.

简而言之,它允许您在集团声明某些特定状态时更新特定的小部件。您可以分派一个事件来更改用 BlocBuilder 包装的小部件的状态。

除了构建小部件之外,您还可以使用 BlockListener 并根据 bloc 声明的 state 执行您想要的过程。

您可以在这里了解更多信息:https://bloclibrary.dev/#/gettingstarted

业务逻辑组件 (BLoC) 模式是由 Google 为状态创建的模式 management.The BLoC 模式使用响应式编程来处理应用程序内的数据流。

  1. BLoC 是应用中数据源(例如 API 响应)和需要数据的小部件之间的中间人。
  2. BLoC 有两个简单的组件:Sinks 和 Streams。 BLoC的输入是sink,输出是stream。
  3. 通过向接收器添加数据将用户输入提供给 BLoC --> 业务逻辑在处理数据的 bloc 中 --> 侦听流的小部件将收到已处理数据的通知。
  4. 换句话说,它从源接收 events/data 流,处理任何 所需的业务逻辑并将数据更改流发布到 对它们感兴趣的小部件。

Here is a wonderful article that has an example that you can refer to understand BLoC better.

BLoC 可以使用 StreamBuilder and StreamController but you should use flutter_bloc flutter package to cut the boilerplate code. examples 来实现。

希望对您有所帮助,如有疑问请评论。 如果这个回答对您有帮助,请采纳并点赞。