我具有以下数据结构,正在使用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'
}
}
如何将其反规范化为数组?