Javascript Redux和远程/本地数据结构转换

Javascript Redux和远程/本地数据结构转换,javascript,redux,Javascript,Redux,我使用Redux已经有一段时间了,我使用它从一些API中获取特定格式的远程数据(后端DTO) 事实上,我从服务中获得的数据结构不是我想要使用的。我想使用一个只与我的客户端相关的特定模型(简化耦合,称为客户端模型) 我的问题是:我应该在哪里将具有特定数据结构的远程数据转换为我的客户端模型? 我一直在从事多个项目,人们似乎正在使用不同的方法来实现这一点: 使用redux thunk,在thunk内部,他们将远程对象映射到本地对象 使用将由Redux reducer管理的LOAD\u REMOTE\

我使用Redux已经有一段时间了,我使用它从一些API中获取特定格式的远程数据(后端DTO)

事实上,我从服务中获得的数据结构不是我想要使用的。我想使用一个只与我的客户端相关的特定模型(简化耦合,称为客户端模型)

我的问题是:我应该在哪里将具有特定数据结构的远程数据转换为我的客户端模型?

我一直在从事多个项目,人们似乎正在使用不同的方法来实现这一点:

  • 使用
    redux thunk
    ,在thunk内部,他们将远程对象映射到本地对象

  • 使用将由Redux reducer管理的
    LOAD\u REMOTE\u DATA
    操作,该操作仅用于调度新的
    COMPUTE\u LOCAL\u DATA


当使用这两种方法时,我会有点奇怪,就像两种方法里面的气味一样。就像我遗漏了什么,我遗漏了远程和本地结构之间的对话层…

这个答案可能有点自以为是。我正在使用redux saga调用外部API。我个人会跳过你提到的方法

  • Thunk方法:我将保持thunks或sagas的通用性(从而避免特定的数据建模),以便Thunk/saga代码可以重用
  • 加载远程数据方法:如果您想这样做,更好的方法是实现一个定制的redux中间件来进行建模

  • 我建议只将远程数据按原样与操作一起传递,并从目标减速器传递,在返回新状态之前调用一些建模函数格式化数据

    为什么不按原样与操作一起传递远程数据,并从减速器传递远程数据,在返回新状态之前调用一些函数进行建模?我认为redux可能只处理特定的数据结构格式。这样,我就不必在多个还原器中管理多个转换。只处理结构,并处理它