Я пытаюсь удалить (полу) глубоко вложенный элемент из массива, используя setState, но он, похоже, не работает.Мое состояние структурировано следующим образом:
state = {
currentSeries: null,
currentRowIndex: null,
rows: [
{
id: shortid.generate(),
nodes: [],
series: [], // array with item I want to remove
},
],
};
и мой вызов удаления элемента:
onRemoveModelElementClick = (rowId, modelElementId) => {
this.setState((prevState) => {
const index = prevState.rows.findIndex(x => x.id === rowId);
const series = prevState.rows[index].series.filter(s => s.id !== modelElementId);
return series;
});
};
Я попытался распространить оставшееся состояние несколькими способами, но, похоже, оно не обновляется должным образом.I rowId и modelElementId верны, и я могу убедиться, что они отфильтровывают правильный элемент.У меня просто проблемы с тем, что вернуть.Я знаю, что это что-то простое, но для жизни я не вижу этого.