[英]Structuring Redux state for complex relational domain model
考虑以下典型的 CRUD 应用程序:
数据层
实体之间具有一对一、一对多和多对多关系的关系域模型。 实体保存在关系数据库中。
服务层
服务层提供 REST API 处理实体上的GET
、 POST
、 PUT
和DELETE
方法以执行业务事务。
客户端状态层
客户端状态由 Redux 状态容器管理。 Redux 存储数据层中实体的表示以及它们上的待处理事务。 Redux 中间件用于更卫生且更易于推理代码。
表现层
UI 是使用 React 和客户端渲染来实现的。 组件内部状态用于次要状态管理,作为使用更大笔刷(Redux 操作)启动事务的“前奏”。
为复杂域模型构建 Redux 状态、reducer、动作和订阅的最佳方法是什么? 当然,最大限度地减少代码重复,同时对实体启用松散耦合和独立操作? 此外,管理组件内部状态的“未保存的更改”和验证逻辑是否更好?
要在 Redux 中管理关系域,请尝试normalized-reducer 。 它是一个高阶reducer,它采用描述关系的模式,并返回一个reducer、动作和选择器,让您相应地写入/读取。 它还可以轻松地与 Normalizr 和 Redux Toolkit 集成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.