Architecture Flutter App the Bloc_Redux Way
原文中文,约7200字,阅读约需17分钟。
📝
内容提要
本文讨论了 Flutter 中的状态管理方案:flutter_redux 和 flutter_bloc。flutter_redux 是 Redux 在 Flutter 的实现,但效率较低;而 flutter_bloc 复杂度高且处理状态时存在不足。作者提出了 Bloc_Redux 解决方案,通过将状态分为输入和输出,利用 StreamBuilder 提高效率,使组件更灵活地响应状态变化。
❓
Q&A
什么是 flutter_redux?
flutter_redux 是 Redux 在 Flutter 的官方实现,由 StoreProvider 和 StoreConnector 组成,但效率较低。
flutter_bloc 的复杂性体现在什么方面?
flutter_bloc 的复杂性体现在增加了新的概念,如 BlocSupervisor 和 BlocDelegate,且在处理状态时没有进行有效的状态比较。
Bloc_Redux 解决方案是如何提高效率的?
Bloc_Redux 通过将状态分为输入和输出,利用 StreamBuilder 让组件更灵活地响应状态变化,从而提高效率。
为什么 flutter_redux 和 flutter_bloc 无法高效处理状态变化?
因为这两者在状态更新时会导致所有连接的组件重新构建,无法有效区分状态变化的属性。
Bloc_Redux 如何简化状态管理的复杂性?
Bloc_Redux 通过将状态处理者分为多个 Bloc,简化了状态管理的复杂性,使得每个 Bloc 只关注特定的状态变化。
在 Bloc_Redux 中,Store 的角色是什么?
在 Bloc_Redux 中,Store 负责接收信息并做出决策,同时管理多个 Bloc 的状态更新。
🏷️