【问题标题】:How to normalize this with normalizr?如何用 normalizr 规范化这个?
【发布时间】:2017-06-23 04:16:55
【问题描述】:

考虑传回的用户对象:

{
  "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" },
    }
  }
}

我不太确定我的架构应该是什么样子才能达到这个结果。

【问题讨论】:

    标签: javascript redux react-redux normalizr


    【解决方案1】:

    想通了。没想到这么简单。

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

    【讨论】:

    • 我认为你实际上可以省略{ idAttribute: 'id' },normalizr 假设这一点
    猜你喜欢
    • 2018-10-19
    • 2020-04-24
    • 2016-06-10
    • 2018-05-23
    • 2021-08-13
    • 2016-06-21
    • 2021-04-14
    • 2021-05-22
    • 2018-04-09
    相关资源
    最近更新 更多