Тут фундаментальная штука про иммутабельность стейта. Ты не можешь его менять. В редьюсерах ты только возвращаешь новый (а чтобы сохранить часть предыдущего состояния тебе нужно клонировать поля в новый объект). Потому и получается запись такая. Кстати, странно, что ты не используешь redux-toolkit. Там многое упрощено.