Обновить одно значение в массиве элементов | реагировать на избыточность
У меня есть список задач, и я хочу установить состояние этого элемента в массиве как «завершено», если пользователь нажимает «завершить».
Вот мое действие:
export function completeTodo(id) {
return {
type: "COMPLETE_TASK",
completed: true,
id
}
}
Вот мой редуктор:
case "COMPLETE_TASK": {
return {...state,
todos: [{
completed: action.completed
}]
}
}
Проблема, с которой я столкнулся, заключается в том, что в новом состоянии больше нет текста, связанного с этим элементом todo на выбранном элементе, и идентификатора больше нет. Это потому, что я перезаписываю состояние и игнорирую предыдущие свойства? Моя загрузка объекта выглядит так:
Objecttodos: Array[1]
0: Object
completed: false
id: 0
text: "Initial todo"
__proto__: Object
length: 1
__proto__: Array[0]
__proto__: Object
Как видите, все, что я хочу сделать, это установить для завершенного значения значение true.