V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
omysho
V2EX  ›  Flutter

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

  •  
  •   omysho · 2021-12-28 13:11:04 +08:00 via Android · 4326 次点击
    这是一个创建于 1052 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    Flutter 哪家强?

    形如 React-Redux Vue-Vuex Compose-JetpackMVVM

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

    17 条回复    2022-07-12 00:27:29 +08:00
    iold
        1
    iold  
       2021-12-28 13:15:17 +08:00
    用过 get
    hahastudio
        2
    hahastudio  
       2021-12-28 13:17:02 +08:00
    BLoC ?
    get 我只当简易 DI 用的
    dcalsky
        3
    dcalsky  
       2021-12-28 13:40:04 +08:00
    最近 Getx 在 reddit 上被猛批
    我一直在用 mobx ,在 flutter 上算小众,但毕竟 web 也在用,上手快。
    bloc 用的人也很多 > redux
    NewTab12138
        4
    NewTab12138  
       2021-12-28 13:43:25 +08:00
    riverpod
    masterclock
        5
    masterclock  
       2021-12-28 13:44:15 +08:00
    用过 Get ,能解决问题,但感觉比较奇葩
    Vitta
        6
    Vitta  
       2021-12-28 13:51:24 +08:00
    @dcalsky #3 为啥被批,有啥坑吗?
    hahastudio
        7
    hahastudio  
       2021-12-28 13:54:21 +08:00
    loginbygoogle
        8
    loginbygoogle  
       2021-12-28 19:47:25 +08:00
    自己写一个
    huxiaofan1223
        9
    huxiaofan1223  
       2021-12-28 23:11:47 +08:00 via iPhone
    provider 怎么样
    Cabana
        10
    Cabana  
       2021-12-30 17:24:26 +08:00
    大概看了下, 基本上都是在说作者人品不好.
    https://www.reddit.com/r/FlutterDev/comments/q95l2x/why_is_getx_hated/
    Cabana
        11
    Cabana  
       2021-12-30 17:35:54 +08:00
    @Cabana #10 公司目前也在用 Getx, 说实话新手上手的确是快, 也能很快产出东西. 但是建议在上手后还是多了解一下其他的状态管理框架以及基础的 InheritedWidget 原理.
    hahastudio
        12
    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
        13
    lodisy  
       2022-02-05 02:42:14 +08:00 via Android
    Riverpod
    fxt0706
        14
    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
        15
    MushiUta  
       2022-02-25 00:10:23 +08:00
    对于我来说 Getx 最大的好处是用法和 Android Architecture Components 很相似,特别便于理解。
    akaHenry
        16
    akaHenry  
       2022-03-03 16:20:28 +08:00
    GetX +1 . 非常好用.

    Provider / bloc 这种就不要再用了.
    vermiliondun
        17
    vermiliondun  
       2022-07-12 00:27:29 +08:00 via Android
    自然是 Riverpod 没得选
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1863 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.