В моем компоненте у меня есть:
currentItem.recipe
currentItem - это состояние в vuex, инициируемое как объект:
currentItem: {}
В том же компоненте я импортирую его с mapState:
...mapState('ItemStore', [
'currentItem'
])
Когда я добавляю рецепт для него, эта мутация вызывается:
ADD_ITEM_RECIPE: (state, recipe) => {
state.currentItem.recipe = recipe
}
recipe
- это ответ от сервера на пост-запрос на создание нового рецепта.
В моем компоненте у меня есть v-if="currentItem.recipe"
, который в начале равен false, поскольку currentItem
не имеет recipe
Мутация выполняется, в devtools я вижу, как recipe
добавляется к currentItem
. Но компонент не обновляется. v-if
не меняется на true. В devtools, если я фиксирую мутацию вручную, она работает как ожидалось.
Поэтому я попытался изменить мутацию на:
state.currentItem.recipe = Object.assign({}, state.currentItem.recipe, recipe)
, но проблема все еще существует.
Почему это происходит и как я могу это решить?