【发布时间】:2021-03-17 21:12:01
【问题描述】:
我在尝试更新位于 Themecontext 中的对象数组时遇到问题,我的问题是突变,我正在使用来自不变性助手的更新。问题是当我在我的特定元素中更新我的数组时,这会出现在我的对象的末尾。
这是我的代码:
function changeValueOfReference(id, ref, newValue) {
const namevalue = ref === 'colors.primary' ? newValue : '#';
console.warn(id);
const data = editor;
const commentIndex = data.findIndex(function(c) {
return c.id === id;
});
const updatedComment = update(data[commentIndex], {styles: { value: {$set: namevalue} } })
var newData = update(data, {
$splice: [[commentIndex, 1, updatedComment]]
});
setEditor(newData);
这是我的结果:
注意:在我尝试实现以下代码之前,但这会改变最终数组并破坏我的测试:
setEditor( prevState => (
prevState.map( propStyle => propStyle.styles.map( eachItem => eachItem.ref === ref ? {...eachItem, value: namevalue}: eachItem ))
))
【问题讨论】:
标签: arrays reactjs object updating