flutter获取何时使用GetX<Controller>、GetBuilder<Controller>或Obx()
正如标题所说,有几种方法可以更新状态。我什么时候应该选择一个?
回答
对此没有硬性规定,但这是我尝试决定的方法:
对象
- 当我的控制器已经在别处注册并且我想要
- 最小的代码/噪音
- 反应式小部件
获取X
- 当我的控制器是不是还没有注册,或者
- 我想非常明确/清楚地说明正在使用哪个控制器或
- 我需要
initState在创建过程中运行一些调用,我想要 - 反应式小部件
获取生成器
- 我想手动决定小部件何时重建
- 我有几个状态变量可以作为一个组一起刷新
笔记
在幕后,Obx 和 GetX 都使用流,订阅控制器可观察变量更改流以了解何时响应式重建。
GetBuilder 没有。
GetX 和 GetBuilder 都扩展 StatefulWidget
THE END
二维码