Есть метод класса, он меняет состояние important.
onToggleImportant = (id) => {
this.setState(({todoData}) => {
return {
todoData: this.toggleProperty(todoData, id, 'important')
};
});
};
А есть метод который обрабатывает аргументы и возвращает массив
toggleProperty(arr, id, propName) {
const index = arr.findIndex((el) => el.id === id);
const oldItem = arr[index];
const newItem = {...oldItem, [propName]: !oldItem[propName]};
return [
...arr.slice(0, index),
newItem,
...arr.slice(index + 1),
];
}
Я вот не пойму почему работает деструктурирование для массива в
const newItem = {...oldItem, [propName]: !oldItem[propName]};