Вносить изменения в состояние только в мутациях. (Вот почему это называется мутациями.) Вам не нужно клонировать список. Создайте мутацию для установки cp
size:
SET_CP_SIZE(state, { cp, size }) {
cp.size = size;
}
И в вашем действии:
[Action.UPDATE_CHERRYPICK_SIZE] ({ state, commit }, { recipe, size }) {
var cp = state.shoppinglist.find(v => v.recipe.id === recipe.id)
commit(Mutation.SET_CP_SIZE, { cp, size })
}
Этот способ не использует state
в мутации напрямую, но это нормально , Вместо этого вы устанавливаете cp
, который является элементом некоторого массива состояний.