SuperAPI AI 工具集

angular-state-management

前端与建站

查看项目

更新于 10-15 22:13

技能介绍

用途:为 Angular 应用实现状态管理,核心是基于 Signals 的响应式状态方案。

主要能力与规则:

  1. 所有状态使用 Signals。内部 signal 保持私有,通过 asReadonly() 对外暴露;可参考 signal store 模式实现基于 signal 的服务与 store。
  2. 用 computed() 派生状态,用于合计、过滤列表和派生值,纯函数且带缓存;用 linkedSignal(() => source()) 处理依赖型可写状态,在 source 变化时重置;用 untracked() 在 computed()/effect() 中读取 signal 而不建立依赖。
  3. 复杂功能用 @ngrx/signals 的 signalStore 扩展,配合 withState、withComputed、withMethods 和 withEntities()。
  4. 副作用用 effect() 处理,仅用于日志、localStorage 同步和 DOM 操作;绝不在 effect() 内更新 signal,否则会导致循环依赖。signal 值视为不可变,使用 .set() 或 .update(v => ...) 更新。

反模式:组件内不写状态逻辑,交给 Signal Store 或 Service;不用 BehaviorSubject 管理状态,RxJS 仅保留给复杂事件流。

限制与说明:资料未提供安装命令、版本要求、示例代码与收费信息;具体实现细节需结合 NgRx Signals 文档。