Обновить одно значение в массиве элементов | реагировать на избыточность

У меня есть список задач, и я хочу установить состояние этого элемента в массиве как «завершено», если пользователь нажимает «завершить».

Вот мое действие:

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.

Ответы на вопрос(3)

Ваш ответ на вопрос