【发布时间】:2021-06-16 01:20:45
【问题描述】:
我正在使用 firbase 构建我的应用程序的聊天部分,我正在考虑它的架构。
我正在考虑:
- 使用 BLoC 模式等,订阅块内的消息流(或第二个屏幕的对话列表),并在每次消息来自时使用消息列表(或对话)发出新状态流。这样,用户界面的
BlocBuilder将在每次发送新消息时重建用户界面。 - 直接将流插入 UI 中的
StreamBuilder,因此不使用 BLoC 模式
这些方法有什么区别?
【问题讨论】:
我正在使用 firbase 构建我的应用程序的聊天部分,我正在考虑它的架构。
我正在考虑:
BlocBuilder 将在每次发送新消息时重建用户界面。StreamBuilder,因此不使用 BLoC 模式这些方法有什么区别?
【问题讨论】:
我会毫无疑问地选择 Bloc,但这只是我的观点。 StreamBuilder 编写起来更容易、更快,但在某些时候它会在你的代码中变得一团糟,如果你不想以无限循环结束,你应该遵守严格的规则。 如果您使用的是 bloc,那么您可以使用 StatelessWidget 并更好地控制重建。 我在媒体上写了一篇关于这个的故事:https://arnaudelub.medium.com/flutter-bloc-and-firestore-stream-the-perfect-match-if-used-the-right-way-5a4607f093a2
【讨论】: