mcpField
R
riverpod-migration

riverpod-migration

github.com/serverpod开发1071 次安装34 周前更新
代码仓库

关于 riverpod-migration

为 Riverpod 迁移提供指引的技能,可根据场景推荐相应参考指南。内容涵盖从 StateNotifier、ChangeNotifier 迁移及部分版本升级,并说明常见实现要点和 CLI 用法。

主要功能

  1. 01按迁移场景指向对应指南
  2. 02涵盖 StateNotifier 到 Notifier 的迁移
  3. 03涵盖 ChangeNotifier 到 AsyncNotifier 的迁移
  4. 04包含 0.13 至 0.14 和 0.14 至 1.0 升级
  5. 05提供 Riverpod CLI 迁移指引

适用场景

  1. 01迁移基于 StateNotifier 的应用
  2. 02将 ChangeNotifier 逻辑改为 AsyncNotifier
  3. 03升级到文档涵盖的版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/serverpod/skills-registry --skill riverpod-migration

安装后在 Claude Code 中输入/riverpod-migration确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
migration_0_13_0_14.md
migration_0_14_1_0.md
migration_from_change_notifier.md
migration_from_state_notifier.md

详细介绍

Riverpod — 迁移指南

说明

此技能提供了适用于不同场景的详细迁移指南。请选择与当前情况匹配的参考文件。

如何选择指南
场景参考文件
从 StateNotifier 迁移到 Notifier / AsyncNotifiermigration_from_state_notifier.md
从 ChangeNotifier 迁移到 AsyncNotifiermigration_from_change_notifier.md
从 0.13.x 升级到 0.14.x(StateNotifierProvider 语法、watch(provider) 与 provider.state)migration_0_13_0_14.md
从 0.14.x 升级到 1.0(ScopedReader → WidgetRef、useProvider → ref.watch、StateProvider)migration_0_14_1_0.md

Riverpod 2.0 → 3.0 的迁移请参阅 riverpod-3-0-migration 技能。

常见主题
  • StateNotifier → Notifier/AsyncNotifier: 将初始化逻辑放在 build 中;使用 ref.onDispose,而不是重载 dispose;没有 mounted——使用取消机制(例如 Completer 或 HTTP 取消令牌)。消费者保持不变(ref.watch、notifier 上的方法)。
  • ChangeNotifier → AsyncNotifier: 用 AsyncValue 替换 isLoading/hasError/手动 try-catch;使用单一 state;通过重新赋值 state 来修改状态。
  • CLI: 对于 0.14 和 1.0 升级,可以先运行 dart pub global activate riverpod_cli,然后在项目中运行 riverpod migrate(请勿先手动升级 Riverpod;工具会建议版本和变更)。

打开相关参考文件,查看分步说明和代码示例。

评论

支持 Markdown