javascript - 如何使用 Normalizr 对其进行标准化?

标签 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" },
    }
  }
}

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

最佳答案

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

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

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

关于javascript - 如何使用 Normalizr 对其进行标准化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42064119/

相关文章:

javascript - 如何找到现有 D3 路径的投影

javascript - JS chrome 控制台数组未扩展

javascript - 使用 localstorage Redux + Next.js 加载初始状态

reactjs - this.props.dispatch 不是一个函数

javascript - enzyme 测试认证高阶组件(HOC)

reactjs - 使用 HOC 与组件包装之间的区别

java - 使用 gwt-test-utils 在测试用例中调用 native 函数会导致 UnsatisfiedLinkError

javascript - 在 Rails 中,如何获取具有动态创建的 ID 的元素?

javascript - React Router HashRouter 插入一个 ?网址中的 # 之前

reactjs - 在 defaultNavigationOptions 中使用 Redux 状态