Javascript 在normalizer中重命名结果属性
给定数据如下:Javascript 在normalizer中重命名结果属性,javascript,normalizr,Javascript,Normalizr,给定数据如下: { id: 1, ownerName: 'bob', devices: [ { id: 2 }, { id: 3 } ] } 如何将其转换为以下对象 { result: 1, entities: { owners: { 1: { id: 1, ownerName: 'bob', deviceIds: [2, 3] }
{
id: 1,
ownerName: 'bob',
devices: [
{
id: 2
},
{
id: 3
}
]
}
如何将其转换为以下对象
{
result: 1,
entities: {
owners: {
1: {
id: 1,
ownerName: 'bob',
deviceIds: [2, 3]
}
},
devices: {
2: {
id: 2
},
3: {
id: 3
}
}
}
}
使用normalizer?我不知道如何在返回的结果中将
设备
更改为设备ID
。您可以使用流程策略进行此操作。它允许您在处理数据之前对其进行操作。只需返回对象的副本,其中的键已从processStrategy()
方法更改
const Device = schema.Entity('devices');
const Owner = schema.Entity(
'owners',
{
deviceIds: [ Device ]
},
{
processStrategy: value => ({
id: value.id,
ownerName: value.ownerName,
deviceIds: value.devices
})
}
);