SuperAPI AI 工具集

riverpod-observers

通用与其它

查看项目

更新于 10-16 01:26

技能介绍

用途:在 Riverpod 中观察 provider 的生命周期事件(如 provider 值发生变化),用于日志记录、数据分析或调试。

主要能力:ProviderObserver 会接收 provider 的生命周期事件。通过继承 ProviderObserver 并重写所需方法(例如 didUpdateProvider),即可捕获变化前后的值。

使用方式:将观察者实例通过 ProviderScope 或 ProviderContainer 的 observers 参数传入。例如定义一个 Logger 类继承 ProviderObserver,重写 didUpdateProvider(ProviderObserverContext context, Object? previousValue, Object? newValue) 并打印日志,然后在 main 中 runApp(ProviderScope(observers: [Logger()], child: const MyApp()))。

命名 provider:为让日志更清晰,可在创建 provider 时指定 name,例如 final myProvider = Provider<int>((ref) => 0, name: 'MyProvider')。使用代码生成时,名称通常会自动分配。

限制与注意:若状态被就地修改(例如对 List 调用 ref.notifyListeners),didUpdateProvider 中的 previousValue 与 newValue 可能是同一引用。如需区分不同值,应在修改前先克隆。其余平台、收费或价格信息暂未提供。