关于 riverpod-migration
为 Riverpod 迁移提供指引的技能,可根据场景推荐相应参考指南。内容涵盖从 StateNotifier、ChangeNotifier 迁移及部分版本升级,并说明常见实现要点和 CLI 用法。
主要功能
- 01按迁移场景指向对应指南
- 02涵盖 StateNotifier 到 Notifier 的迁移
- 03涵盖 ChangeNotifier 到 AsyncNotifier 的迁移
- 04包含 0.13 至 0.14 和 0.14 至 1.0 升级
- 05提供 Riverpod CLI 迁移指引
适用场景
- 01迁移基于 StateNotifier 的应用
- 02将 ChangeNotifier 逻辑改为 AsyncNotifier
- 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.mdmigration_0_14_1_0.mdmigration_from_change_notifier.mdmigration_from_state_notifier.md详细介绍
Riverpod — 迁移指南
说明
此技能提供了适用于不同场景的详细迁移指南。请选择与当前情况匹配的参考文件。
如何选择指南
| 场景 | 参考文件 |
|---|---|
| 从 StateNotifier 迁移到 Notifier / AsyncNotifier | migration_from_state_notifier.md |
| 从 ChangeNotifier 迁移到 AsyncNotifier | migration_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