Reactjs 修改React承诺响应中的数据会对全局产生影响
我已经创建了一个代码沙盒,其中包含了问题的简化版本 我从提取中得到一些数据 我想要2份该数据的副本,1份我想用SHIFT修改 问题:任何更改都会更新我的初始数据对象 有人能告诉我这是怎么可能的吗?我怎样才能避免这种情况Reactjs 修改React承诺响应中的数据会对全局产生影响,reactjs,Reactjs,我已经创建了一个代码沙盒,其中包含了问题的简化版本 我从提取中得到一些数据 我想要2份该数据的副本,1份我想用SHIFT修改 问题:任何更改都会更新我的初始数据对象 有人能告诉我这是怎么可能的吗?我怎样才能避免这种情况 正如@Yusufbek所建议的,我们需要为您要修改的数据制作一份深度拷贝。您可以执行以下操作: 导出函数FormatResponseProperty(旧数据){ //常数newData={ //…旧数据 // }; const newData=JSON.parse(JSON
正如@Yusufbek所建议的,我们需要为您要修改的数据制作一份深度拷贝。您可以执行以下操作:
导出函数FormatResponseProperty(旧数据){
//常数newData={
//…旧数据
// };
const newData=JSON.parse(JSON.stringify(oldData));
const obj={allocations:[]};
var theRemovedElement=“”;
var端口=[];
ports=Object.values(newData[“liquidity”][“columns”]);
ports.shift();
var dataArray=[“流动性”];
for(数据数组的常量索引){
for(newData[索引][“数据”]的常数i){
theRemovedElement=i.shift();
如果(索引==“分配”){
obj[索引][删除]=i;
}否则{
obj[theRemovedElement]=i;
}
}
}
返回obj;
}
您可能需要尝试深度复制,但我不是100%确定,请尝试此功能