SuperAPI AI 工具集

ngrx-store-patterns

前端与建站

查看项目

更新于 10-19 16:18

技能介绍

该技能面向 Angular 21 DDD 项目中的 NgRx Signals Store 开发,提供项目特定的实现规范与快速参考,当代码涉及 signalStore、withEntities、rxMethod、patchState 等内容时激活。

用途:统一项目内 Store 的组织方式、状态更新方法与异步处理模式,减少实现分歧。

主要能力与关键规则:

  • Store 位置:src/app/features/{domain}/data/state/{domain}-store.ts,参考实现为 src/app/features/tasks/data/state/task-store.ts。
  • 所有 Store 使用 signalStore({ providedIn: 'root' })。
  • 组织顺序为 withState → withEntities → withComputed → withMethods。
  • 异步操作使用 rxMethod 结合 tapResponse。
  • 所有状态更新使用 patchState,禁止直接修改状态。
  • 状态中始终包含 loading: boolean 与 error: string | null。
  • 实体操作使用 setAllEntities、addEntity、updateEntity、removeEntity。
  • tapResponse 应从 @ngrx/operators 导入,而非 @ngrx/component-store。

使用方式:当代码涉及上述信号 Store 相关 API 时技能自动激活,并按快速参考规则应用;完整 Store 模式需阅读 .github/instructions/ngrx-signals.instructions.md,Store 测试需阅读 .github/instructions/ngrx-signals-testing.instructions.md。

适用场景:Angular 21 项目中使用 NgRx Signals Store 的领域数据状态管理、实体集合操作与异步流程开发。

限制:该技能为项目特定规范,资料未提供安装命令、配置步骤及独立运行方式;其规则依赖项目内说明文件与参考实现,缺失内容暂未提供。