Reactjs 使用redux thunk和Normalizer从多个API调用创建数据对象

Reactjs 使用redux thunk和Normalizer从多个API调用创建数据对象,reactjs,schema,redux,redux-thunk,normalizr,Reactjs,Schema,Redux,Redux Thunk,Normalizr,我正在使用redux-thunk和normalizer创建数据模式。首先,我从fetch调用(未显示)中获取账单列表,然后对于响应中的每个项目,我使用账单的ID进行单独的API调用(如下所示),以获取与账单相关的一些术语。外部fetch响应中不提供这些数据 我为每个账单获取术语的规范化实体,在发送到州政府之前,我将用一个包含相关账单列表的副本替换每个实体对象 (下面的代码可以正常工作。)我的问题是:如果我用添加的relatedBills属性替换每个termsentities[key]本身的副本,

我正在使用redux-thunknormalizer创建数据模式。首先,我从fetch调用(未显示)中获取账单列表,然后对于响应中的每个项目,我使用账单的ID进行单独的API调用(如下所示),以获取与账单相关的一些术语。外部fetch响应中不提供这些数据

我为每个账单获取术语的规范化实体,在发送到州政府之前,我将用一个包含相关账单列表的副本替换每个实体对象

(下面的代码可以正常工作。)我的问题是:如果我用添加的
relatedBills
属性替换每个
termsentities[key]
本身的副本,这算是变异吗?在分派之前处理normalizer实体数据可以吗,还是这种做法不好

谢谢

导出函数fetchBillDetails(billId){
返回调度=>{
返回fetch(`${API}/${billId}`)
.then(response=>response.json())
。然后(json=>{
const terms=json.terms;
const normalizedTerms=规格化(术语、数组在mschema之后);
const term entities=normalizedTerms.entities.terms;
for(术语实体中的常量键){
if(术语Entities.hasOwnProperty(键)){
termEntities[key]=Object.assign({},termEntities[key]{
相关账单:billId
})
}
}
发送(接收)账单条款(
比利德,
规范化术语实体,
标准化术语结果
));
});
}

}
当然,您可以对从API接收的数据执行任何操作。唯一关键的一点是,您永远不会在状态中更改数据。当然,您可以对从API接收的数据执行任何操作。唯一关键的一点是,您永远不会在状态中更改数据。