flutter get 何时使用 GetX<Controller>、GetBuilder<Controller> 或 Obx()

flutter get when to use GetX<Controller>, GetBuilder<Controller> or Obx()

如标题所示,有两种更新状态的方法。我什么时候应该选择一个而不是另一个?

对此没有硬性规定,但我是这样决定的:

Obx

  • 当我的控制器已经在别处注册并且我想要
  • 最小code/noise
  • 反应式小部件

GetX

  • 当我的控制器尚未注册或
  • 我很想explicit/obvious正在使用哪个控制器或者
  • 我需要 运行 在创建过程中进行一些 initState 调用,我想要
  • 反应式小部件

GetBuilder

  • 我想手动决定何时重建小部件
  • 我有几个状态变量可以作为一个组一起刷新

备注

在幕后,Obx 和 GetX 都使用流,订阅控制器可观察变量更改流以了解何时反应重建。

GetBuilder 没有。

GetX 和 GetBuilder 都扩展了 StatefulWidget