如何用normalizr将其标准化?

时间:2017-02-06 09:18:52

标签: javascript redux react-redux normalizr

考虑传回的User对象:

{
  "id": "123",
  "username": "TestUser",
  "group": 
    {
      "id": "324",
      "name": "My Group"
    }
}

我想要投放:normalize(user);

得到这样的东西。可能吗?还是正确的?我正在尝试从用户中提取组,因此我可以将其放在自己的实体插槽中。

{
  result: "123",
  entities: {
    "users": { 
      "123": { 
        id: "123",
        group: "1",
        username: "TestUser
      }
    },  
    "groups": {
      "1": { "id": "324", "name": "My Group" },
    }
  }
}

我不太确定我的模式应该是什么样才能实现这个结果。

1 个答案:

答案 0 :(得分:2)

想出来。没有意识到它是如此简单。

export const group = new schema.Entity('groups', {}, {
  idAttribute: 'id'
});

export const user = new schema.Entity(
  'users',
  {
    group: group
  },
  {
    idAttribute: 'id'
  }
);