Ste*_*ven 0 state-management setstate dart flutter bloc
我看过很多赞扬 Bloc State 管理的教程,它有什么特别之处,我应该作为初学者学习它吗?如果没有,是否有任何初学者友好的状态管理技术?
BLoC 非常适合复杂应用程序的复杂状态管理。然而,在 BLoC 库中,有一种更简单的状态管理方法,称为 Cubit(Cubit 是 BLoC 的子集)。Cubit 与 BLoC 基本相同,除了:
\n这使得它更容易学习,并且是进入全面的 BLoC 驱动状态管理解决方案的绝佳垫脚石。
\n目前,我和我的团队正在构建一个非常复杂的应用程序,我们使用的原则是:使用 Cubits,除非有特定原因需要使用 BLoC。这对我们来说效果很好(我们的应用程序 90% 使用 Cubit 运行,10% 使用 BLoC)。
\n相对于其他状态管理技术,大多数人可能会推荐 Provider 或 Riverpods(Riverpods = Provider on steroids)。它们比 Cubit/BLoC \xe2\x80\x94更容易学习,除了简单的情况(几页应用程序)。一旦您的应用程序变得复杂(身份验证、提要、API 调用等),基于 Cubit/BLoC 的架构将能够更好地扩展并且更加简洁。
\n此外,生产级 Flutter 应用程序最常用的状态管理系统是 BLoC/Cubit。所以,如果你正在寻找一种适销对路的技能,我会默认这样做。
\n这是我制作的一个简单的 1 功能应用程序,作为概念证明,以展示 Cubit 的具体工作原理。阅读项目的README.md背景信息(给它加星标?)。
Provider、GetX、Riverpods 等都比 BLoC 更容易学习,并且包含的样板文件更少,但当您的应用程序变得更加复杂时,它们的扩展性会变差。
\n为了帮助解决 BLoC 的样板/复杂性问题,请在设计中使用 Cubits 而不是 BLoC,除非您对 BLoC 有特定需求。
\n| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |