Redux和normalizer将单个实体放入数组

Redux和normalizer将单个实体放入数组,redux,Redux,我正在使用Redux和normalizer 我的状态看起来像: { entities: { users: { 1: {...}, 2: {...} } }, data: { users: [1,2] } } 我的一个API端点返回一个包含单个用户和一些其他数据的对象: data = { user: {id: 3, ...} otherstuff: {...} } const user = new S

我正在使用Redux和normalizer

我的状态看起来像:

{
  entities: {
    users: {
      1: {...},
      2: {...}
    }
  },
  data: {
    users: [1,2]
  }
}
我的一个API端点返回一个包含单个用户和一些其他数据的对象:

data = {
      user: {id: 3, ...}
      otherstuff: {...}
    }
const user = new Schema('users');

normalize(data, {user: user})
这是回报

{
  entities: {
    users: {
      3: {id: 3, ...}
    }
  },
  result: {
    user: 3
  }
}
但是,my data reducer希望合并到(ID的)用户阵列中:

理想情况下,我会在标准化过程中解决这个问题,而不是改变减速机。有没有一种简单的方法可以让normalizer将
{user:{id:3}}
解析为
{result:{users:[3]}
?它已经将实体键更改为
用户


如果没有,是否有一个干净、通用的reducer级别的解决方案来解决跨各种实体类型名称的此问题?

您是否设法解决了此问题?
function data(state = {}, action) {
  if (action.response && action.response.result)  {
    return deepmerge(state, action.response.result)
  }
  return state
}