在 normalizr 中重命名结果 属性
Rename result property in normalizr
给出的数据如下:
{
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
}
}
}
}
使用 normalizr?我不知道如何在返回的结果中将 devices
更改为 deviceIds
...
您可以为此使用流程策略。它允许您在处理数据之前对其进行操作。只需 return 对象的副本,其中键从 processStrategy()
方法更改。
const Device = schema.Entity('devices');
const Owner = schema.Entity(
'owners',
{
deviceIds: [ Device ]
},
{
processStrategy: value => ({
id: value.id,
ownerName: value.ownerName,
deviceIds: value.devices
})
}
);
给出的数据如下:
{
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
}
}
}
}
使用 normalizr?我不知道如何在返回的结果中将 devices
更改为 deviceIds
...
您可以为此使用流程策略。它允许您在处理数据之前对其进行操作。只需 return 对象的副本,其中键从 processStrategy()
方法更改。
const Device = schema.Entity('devices');
const Owner = schema.Entity(
'owners',
{
deviceIds: [ Device ]
},
{
processStrategy: value => ({
id: value.id,
ownerName: value.ownerName,
deviceIds: value.devices
})
}
);