angular - 在 NgRx 中,在哪里将来自服务器的响应数据(通过副作用获得)转换为组件可以理解的状态?
问题描述
我是 NgRx 的新手,因此很困惑。我有一个简单的组件,它显示了一个对象列表,例如订单。它使用效果从后端获取要显示的订单列表。唯一的问题是我想将此响应从 BE 转换为要在组件中显示的简单对象列表。我很困惑在哪里转换它。我看到 4 个选项:
- 在从后端获取列表的服务中对其进行转换-实现起来很简单,不确定它是否是最好的方法。
- 将其转化为效果 - 如果在这里,那么为什么不在服务中?
- 使用减速器对其进行转换 - 似乎是一个有效的地方。
- 使用选择器对其进行转换——我们不需要视图状态,因为每次打开组件时视图状态都会从选择器中派生。甚至可能让它变慢,因为它每次都必须转换状态。
这是我目前的理解。我想知道它是否正确,我也想知道处理这种情况的最佳实践,这在应用程序中似乎应该相当普遍。
解决方案
这不是一个ngrx 问题,而是一个客户端-服务器映射问题。
以我的经验,最佳实践是映射尽可能接近 api - 所以在这种情况下,在从 BE 获取它的服务中。
请注意,您还可以为映射创建特定服务,并从 API 服务调用它 - 这将取决于您的 API 服务的详细程度
推荐阅读
- python - 以多级树的形式构建字典
- r - 如何将图例添加到组合图中?
- javascript - 获取选中的复选框
- javascript - 如何通过 NestJS 中的请求将文件从任何源发送到端点?
- scala - 将 HList 转换为另一个 HList
- c# - Word VSTO 加载项
- angular - 使用 Angular Ivy 进行延迟加载:InjectionToken ng-select-selection-model 没有提供者
- c# - 模拟“复制”并检查剪贴板上的文本
- sql - Microsoft ODBC 中是否有字符串求和函数?
- c# - 如何在表单数据 / [FromForm] 中发送可为空的 DateTime