核心特点
- 自动依赖追踪:`Rx(() => ...)` 自动追踪 `.obs` 变量,精确重绘。
- 字段/索引级更新:Map/List 只更新变化的部分,性能好(尤其适合大表单、大列表)。
- Computed 计算属性:自动追踪依赖链。
- RxEventBus:模块化事件总线,支持 sticky、优先级、批量取消等。
- RxFuture:内置 Loading/Error/Success 状态处理。
- 依赖管理 & 路由:`RxObjMgr` + 简单路由支持。
- 自动释放:减少内存泄漏。

 安装(pub.dev)

dependencies:
  rxflare: ^1.5.0   # 检查最新版本


然后运行 `flutter pub get`。

 基础用法示例

1. 简单计数器(自动依赖追踪)
dart
final count = 0.obs;

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

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


2. 多个变量 + 一个 Rx 块
dart
final name = "张三".obs;
final age = 20.obs;

Rx(() => Text('${name.value},${age.value}岁'));


3. Map 字段级精准更新(核心优势)
dart
final user = {
  "name": "张三",
  "age": 25,
}.obs;   // 或使用 obsMap / RxState<Map>

Rx(() => Text("姓名: ${user.getItem('name')}"));  // 只监听 name

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


4. List 索引级更新
dart
final items = ["A", "B", "C"].obs;

Rx(() => Text("Item 1: ${items.getItem(1)}"));

items.updateField(1, "🔥B 已修改");  // 只刷新第2项


5. Computed 计算属性
dart
final price = 99.obs;
final quantity = 1.obs;

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

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


6. 手动指定依赖(Rx.custom)
dart
Rx.custom(
  deps: [count],  // 只监听 count
  builder: () => Text("count: ${count.value}"),
);


 其他功能
- RxFuture:异步加载状态管理(Loading/Error/Data)。
- RxEventBus:模块化事件通信(`on` / `notify` / `off`)。
- 路由:`rxr.to()` 等简单路由支持。

 推荐场景
- 中小型项目,想极简 + 高性能。
- 需要字段/列表项精准更新的复杂表单或长列表。
- 希望 boilerplate 远少于 Bloc/Provider 的场景。

更多详情可查看:
- pub.dev 官方页面:https://pub.dev/packages/rxflare (包含完整 Example)
 

需要具体示例代码、与 GetX/Provider 对比,或某个功能的深入演示,告诉我我再帮你细化!

更多推荐