【发布时间】:2020-05-27 19:15:44
【问题描述】:
喂?我想在数据表中显示一组对象。我从我的 redux 中获取我的对象数组并将它们映射以替换状态。但不知何故,我的 redux 也更新了。我尝试了不可变副本Object.assign、[...]。请帮忙。
const convertNumberToJobUnit = (data) => {
const Agents = Object.assign({}, data)
return Agents.totalAgents.map(item => {
switch(item.worker_status) {
case 1: item.worker_status = 'Үндсэн'
break
case 2: item.worker_status = 'Гэрээт'
break
default: break
}
switch(item.worker_level) {
case 1: item.worker_level = 'New Staff'
break
case 2: item.worker_level = 'Normal'
break
case 3: item.worker_level = 'Good'
break
case 4: item.worker_level = 'Very Good'
break
default: break
}
// item.clickEvent = () => clickEvent(item.device_id)
item.created_date = dateConvert(item.created_date)
Agents.jobList.map(jobItem => {
if(item.job_id === jobItem.id) {
item.job_id = jobItem.job_name
}
return jobItem
})
Agents.unitList.map(unitItem => {
if(item.organizition_unit_id === unitItem.id) {
item.organizition_unit_id = unitItem.unit_name
}
return unitItem
})
return item
})
}
【问题讨论】:
-
你在哪里使用
Object.assign? -
@David 那是错误的代码。我更新了它
-
Object.assign仅复制值,因此您正在迭代的数组仍将保持它的引用。检查developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript reactjs ecmascript-6 redux react-redux