使用normalizr标准化数组

时间:2018-07-22 17:23:51

标签: normalizr

我具有以下数据结构,正在使用normalizr进行标准化:

{
  id: 1,
  page: {
    id: 999,
    name: 'some page'
  },
  users: ['abc', 'def', 'zzz']
}

我想通过页面ID对用户进行规范化,并且希望用户保留数组,因此我按如下方式定义了架构:

const page = new schema.Entity('pages');

export const users = new schema.Entity(
  'users',
  {},
  {
    idAttribute: (value, parent) => parent.page.id,
    processStrategy: (value) => [...value]
  }
);

const module = {
  page,
  users
}

它可以正常工作,直到我像这样对它进行非规范化:

const data = denormalize([999], module, { pages, users });

它的结果是用户对象而不是数组:

{
  id: 1,
  page: {
    id: 999,
    name: 'some page'
  },
  users: {
    0: 'abc', 
    1: 'def', 
    2: 'zzz'
  }
}

如何将其反规范化为数组?

0 个答案:

没有答案