首页 > 解决方案 > Flutter,BLoC 需要 rx dart 吗?

问题描述

在我看到的 bloclibrary 官方网站文档中,我从未见过他们使用 rx dart。

但是,有时在社区中,他们说一起使用 rx dart 要好得多。但我不明白。我使用 firestore 作为后端,我只是觉得我根本不需要 rxdart。即使我努力搜索,我也无法看到使用 rx dart + BLoC 的好的示例项目。

如果将 rx dart 与 BLoC 一起使用有什么好处?我可以看一个例子吗?

标签: flutterbloc

解决方案


您正在将 BLoC 模式与 Bloc 库混合在一起。

BLoC 模式是一种响应式状态管理解决方案,由 Google 创建。它的目标是充当应用程序中数据之间的中间人,例如,处理 API 和 UI 之间的状态和业务逻辑。

它意味着独立于平台,这意味着 Bloc 中的相同 dart 代码将在 Flutter 和 Angular 等框架中工作。

通常,使用 RxDart,您可以像这样创建一个 BLoC:

class AppDataBloc {
  // The publish subject is responsible for get/add data and 
  // pass it to the UI as a stream.
  final _appDataSubject = PublishSubject<AppData>();

  // This is the stream the UI will use.
  Observable<AppData> get appData => _appDataSubject.stream;

}

另一方面,Bloc 库是 BLoC 模式的实现。

它不仅提供了一种简单、统一和直观的方式来实现 BLoC 模式,而且还使您的应用程序非常易于测试和维护。

所以要回答你的问题,你不需要 RxDart,除非你想自己实现 BLoC 模式。如果您使用 Bloc 库,那么您已经在使用 BloC 模式的免费 RxDart 实现。


推荐阅读