Я не могу решить эту setState вторую ночь, и я уже в отчаянии. У меня есть сильно вложенный объект, который я пытаюсь обновить. В случае, если у меня есть несколько элементов в todaysMenu, и я пытаюсь обновить состояние для второго элемента, весь массив «сохраняется» в первом элементе todaysMenu.
onChangeAnyValue(values, itemIndex) {
const key = Object.keys(values.x)[0];
const provideDate = values.date;
this.setState(prevState => ({
data: prevState.data.map(day => day.date === provideDate ? {
...day,
todaysMenu: [{
...day.todaysMenu,
[itemIndex]: {
...day.todaysMenu[itemIndex],
dish: {
...day.todaysMenu[itemIndex].dish,
[key]: values.x[key]
}
}
}]
} : day)
}));
}
В случае, если я удаляю квадратные скобки, он хранится как просто объектов.
Спасибо за ваше время!