在 normalizr 中重命名结果属性
Posted
技术标签:
【中文标题】在 normalizr 中重命名结果属性【英文标题】:Rename result property in normalizr 【发布时间】:2020-11-28 01:33:36 【问题描述】:给定的数据如下:
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
...
【问题讨论】:
【参考方案1】:您可以为此使用流程策略。它允许您在处理数据之前对其进行操作。只需返回对象的副本,其中的键从 processStrategy()
方法更改。
const Device = schema.Entity('devices');
const Owner = schema.Entity(
'owners',
deviceIds: [ Device ]
,
processStrategy: value => (
id: value.id,
ownerName: value.ownerName,
deviceIds: value.devices
)
);
【讨论】:
以上是关于在 normalizr 中重命名结果属性的主要内容,如果未能解决你的问题,请参考以下文章
从 Pandas 聚合中重命名结果列(“FutureWarning:不推荐使用带有重命名的字典”)