在一个flutter项目中使用两种状态管理是个好主意吗

Posted

技术标签:

【中文标题】在一个flutter项目中使用两种状态管理是个好主意吗【英文标题】:Is it a good idea to use two state management in one flutter project 【发布时间】:2021-09-01 22:27:12 【问题描述】:

我对其中一个存储库感到有些困惑,我在 Github 上找到了 47 颗星。他使用了 2 个状态管理依赖项,即 GetX 和 Flutter_bloc。这两个都不错。

https://github.com/omergamliel3/flutter-clean-architecture-app

集团状态管理

flutter_bloc: ^6.0.6

GetX 微框架

得到:^3.24.0

在我的项目中,我想涵盖测试以及实现状态管理应该很简单。

我浏览了多篇文章和讨论,发现 GetX 与 Bloc 相比非常容易理解,但没有测试文档(我的周点是测试)但同时 Bloc 正在进行所有这些测试- 相关文档组织良好,但有大量样板。

现在,如果我同时使用了这两个呢?我可以使用 GetX 的某些功能和 BloC 的某些功能吗?那么我的项目在可维护性方面的未来范围是什么?

【问题讨论】:

【参考方案1】:

如果您在一个项目中使用多个状态管理,我认为没有任何问题,但如果您谈论可维护性,那么我认为您应该只使用一种状态管理。

虽然,如果你想同时使用这两种状态管理,那么请确保维护两种状态管理之间的文件结构,以便将来任何开发人员都可以阅读和理解代码。

或者,如果您只想使用一种状态管理,那么我同意 GetX 非常简单,但不要低估 BLoC 模式。 BLoC 被认为是 Flutter 的最佳状态管理之一。

【讨论】:

以上是关于在一个flutter项目中使用两种状态管理是个好主意吗的主要内容,如果未能解决你的问题,请参考以下文章

使用反射替换 java.net.URL URLStreamHandlerFactory 是个好主意吗?

将 Couchbase 与 Rails 一起使用是个好主意吗?

在 Laravel 5 中动态编辑 .env 是个好主意吗?

在 2 个不同的存储库中管理 Azure DEVOPS Git DEV 和发布分支是个好主意吗?

使用长时间的 Thread.Sleep 是个好主意吗?

Symfony ApiPlatform:在实体中作为序列化器/组的角色是个好主意吗?