我收到了来自API的响应,我正在尝试在我将其发送到reducer之前为我的操作中的对象数组重命名嵌套对象属性。这通常是响应的样子:
[
{
attributes: {
name: "Item 1",
price_cents: 1500
}
},
{
attributes: {
name: "Item 2",
price_cents: 1000
}
},
...
]
我想将price_cents
更改为price
。在将其用作减速器的有效负载之前,我怎么能改变它?
答案 0 :(得分:2)
您可以使用Array#map
遍历响应数组中的每个值,并使用所需的属性和名称创建一个新对象:
const actionCreator = (response) => ({
type: 'ACTION_TYPE',
payload: response.map((item) => ({
attributes: {
name: item.attributes.name,
price: item.attributes.price_cents
}
})
});
答案 1 :(得分:1)
编写过滤器以更改属性值,当响应成功返回时,过滤响应并减少它。
JSON属性名称更改:Rename the property names and change the values of multiple objects
JSON属性名称更改(2):change property name