2022 年了 flutter 状态管理哪家强?

2021-12-28 13:11:04 +08:00
 omysho

声明式 UI 最重要的状态管理方面

Flutter 哪家强?

形如 React-Redux Vue-Vuex Compose-JetpackMVVM

Flutter 现在发展出统治级的框架了吗?

4389 次点击
所在节点    Flutter
17 条回复
iold
2021-12-28 13:15:17 +08:00
用过 get
hahastudio
2021-12-28 13:17:02 +08:00
BLoC ?
get 我只当简易 DI 用的
dcalsky
2021-12-28 13:40:04 +08:00
最近 Getx 在 reddit 上被猛批
我一直在用 mobx ,在 flutter 上算小众,但毕竟 web 也在用,上手快。
bloc 用的人也很多 > redux
NewTab12138
2021-12-28 13:43:25 +08:00
riverpod
masterclock
2021-12-28 13:44:15 +08:00
用过 Get ,能解决问题,但感觉比较奇葩
Vitta
2021-12-28 13:51:24 +08:00
@dcalsky #3 为啥被批,有啥坑吗?
hahastudio
2021-12-28 13:54:21 +08:00
loginbygoogle
2021-12-28 19:47:25 +08:00
自己写一个
huxiaofan1223
2021-12-28 23:11:47 +08:00
provider 怎么样
Cabana
2021-12-30 17:24:26 +08:00
大概看了下, 基本上都是在说作者人品不好.
https://www.reddit.com/r/FlutterDev/comments/q95l2x/why_is_getx_hated/
Cabana
2021-12-30 17:35:54 +08:00
@Cabana #10 公司目前也在用 Getx, 说实话新手上手的确是快, 也能很快产出东西. 但是建议在上手后还是多了解一下其他的状态管理框架以及基础的 InheritedWidget 原理.
hahastudio
2021-12-31 10:28:06 +08:00
@Cabana
如果只是说那个 package 的话,这个可能是更好的信息源: https://www.reddit.com/r/FlutterDev/comments/po1bei/why_is_getx_such_a_bad_state_management/
lodisy
2022-02-05 02:42:14 +08:00
Riverpod
fxt0706
2022-02-17 10:41:58 +08:00
用过 Google 自家的 Provider 和 GetX 。

Provider 的问题是无论你要实现粗略还是精细的状态管理,你都需要写一大堆繁杂嵌套的代码,好处就是这个是官方维护的,执行效率不是问题,并且当你熟练掌握 Provider 的使用后,意味着你基本理解了 Flutter 状态刷新的背后机制。

GetX 相比起来代码直观简单很多(更傻瓜),并且非常容易解耦,自带了类似 get_it 的注入功能,并且集成了许多好用的模板( get_cli ,get_snippets )。但是作者的维护积极性以及最终 app 的运行效率都会更糟一些,许多建设性的 issue open 了两年多都没下文,且初学者直接用的话容易对各类问题一知半解。

但话说回来,Flutter 自身就很有问题,一个官方最早做的状态管理( stateful )不好用到如此多的第三方状态管理库相互“厮杀”就挺怪的。
MushiUta
2022-02-25 00:10:23 +08:00
对于我来说 Getx 最大的好处是用法和 Android Architecture Components 很相似,特别便于理解。
akaHenry
2022-03-03 16:20:28 +08:00
GetX +1 . 非常好用.

Provider / bloc 这种就不要再用了.
vermiliondun
2022-07-12 00:27:29 +08:00
自然是 Riverpod 没得选

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/824858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX