У меня есть два массива с одинаковыми свойствами объектов, и я хотел обновить только данные определенного объекта из одного массива, не затрагивая второй массив объектов.
Я попытался выполнить синтаксический анализ JSON, но это не сработало, потому что яиспользуя drag n drop для данных, поэтому я хотел обновить конкретный индекс передачи объекта.
this.state = {
listItem: [
// This data will be static
{ data: `Text`, content: 'Insert you text here...' },
{
data: `Column`,
content: 'Column',
columns: [
{
column: []
},
{
column: []
}
]
}
],
layout:[
// The data below might be more than 3-4 times repetitive
{
data: `Column`,
content: 'Column',
columns: [
{
column: []
},
{
column: []
}
]
}
]
}
// Set State function I tried recently
onColumnDrop(e, layoutIndex, colIndex) {
if (e.removedIndex !== null || e.addedIndex !== null) {
var stateCopy = Object.assign({}, this.state.layout);
stateCopy[layoutIndex].columns[colIndex].column = e.payload;
this.setState({ stateCopy });
}
}
Итак, в основном функциональность заключается в том, что я перетаскиваю объект из listItem и помещаю его в массив столбцов макета, поэтому я хотел установитьперетаскивали объект в столбец column [0] или column [1], поэтому происходит, когда я продолжаю нажимать listItem [0] в массиве column [0] или column [1], а затем его обновление в столбцах listItem,не знаю почему!но я очень запутался.