大模型应用
Angular 项目中使用 NgRx 管理全局状态时保持…
在 Angular 应用里用 @ngrx/store、@ngrx/effects、@ngrx/entity 编写或修改 store、reducer、effect、selector 时,遵循 NgRx 状态管理最佳实践。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 58/100 ×0.15
适用场景
Angular 项目中使用 NgRx 管特定
解决思路
- 保持 reducer 纯净:reducer 中不写任何副作用(如 HTTP 请求、路由跳转、localStorage 写入等),只做纯函数式的状态转换;所有副作用(如 HTTP 调用)放到 @ngrx/effects 中处理。
- 使用特性选择器(feature selectors):用 createSelector 等创建带记忆(memoized)的选择器,使其只在输入状态变化时才重新计算,避免组件中直接读取原始 state 或做重复计算。
- 使用 action groups(createActionGroup)组织相关 action,避免手写大量重复的 action 定义。
- 使用 @ngrx/entity 的 entity adapter 管理集合类状态(增删改查、排序、ID 索引),而不是手写数组操作。
- 在组件中通过 selectors(可结合 signal-based selection)订阅状态,而不是直接访问 store 内部结构。
适用边界 · 注意事项
- 不要用于 Akita、NGXS 或基于独立 signal 的状态管理方案。
- 不要在没有安装 @ngrx/store、@ngrx/effects、@ngrx/entity 的项目中使用。
- 建议与核心 angular-best-practices 技能一起安装以获得完整覆盖,单独使用覆盖不全。