专注于自动依赖追踪、字段/索引级精确更新、低样板代码和高性能。

它类似于 GetX 的响应式部分,但更轻量,特别适合中小型项目或需要精细性能优化的场景。

 核心特点
 自动依赖追踪:使用 .obs 变量 + Rx(() => Widget),自动追踪依赖,仅在必要时重建 Widget。
 字段/索引级精确更新:Map 按 key 更新、List 按 index 更新,只有受影响的部分重绘,性能优秀。
 计算属性(Computed):computed() 自动追踪链式依赖,派生状态实时同步。
 内置功能:
 RxEventBus:模块化事件总线,支持优先级、Sticky 事件、批量取消等。
 RxFuture:异步处理(loading/error/success 状态)。
  依赖管理(RxObjMgr + RxParent):单例、懒加载、页面隔离。
  简单路由(rxr)。
  自动释放(防止内存泄漏)。

 基本用法示例

1. 简单计数器:

final  count = 0.obs;

Rx(() => Text ( "计数: ${count.value}"));

FloatingActionButton(
 onPressed: () => count.value++,
 child: Icon(Icons.add),
)


2. Map 字段级更新(核心优势):

final user = {
 "name": "张三",
 "age": 25,
}.obs;

// 分别监听不同字段
Rx(() => Text ( "姓名: ${user.getItem('name')}"));
Rx(() => Text ( "年龄: ${user.getItem('age')}"));

// 精准更新
user.updateField ( "name", "李四"); // 仅 name 相关的 Rx 重绘


3. 计算属性:

final price = 99.obs;
final quantity = 1.obs;

late final total = computed(() => price.value * quantity.value);

Rx(() => Text ( "总价: ${total.value}"));


 安装方式
在 pubspec.yaml 中添加:
yaml
dependencies:
 rxflare: ^1.5.0 # 或最新版本


然后运行 flutter pub get。

官网 Pub 地址:https://pub.dev/packages/rxflare

RxFlare 适合追求极简代码 + 高性能的开发者,尤其在大表单、长列表或需要局部刷新的场景下表现突出。如果你之前用过 GetX 的 .obs,上手会非常快,但它更专注精细更新。

更多推荐