@amanDev

Почему выдается ошибка «[vuex] unknown action type: ADD_CONTACT»?

Метод:

addContact(payload) {
                this.$store.dispatch({type:'ADD_CONTACT'}, payload)
            }

Экшен и мутация:

mutations:{
        ADD_CONTACT:(state,payload)=> {
            state.contacts.push(payload)
        }
    },
    actions:{
        addContact:(context,payload)=> {
            context.commit({type:'ADD_CONTACT'}, payload)
        }
    },
  • Вопрос задан
  • 1050 просмотров
Решения вопроса 1
0xD34F
@0xD34F
this.$store.dispatch({type:'ADD_CONTACT'}, payload)

actions:{
    addContact:

Вы и вправду считаете, будто ADD_CONTACT и addContact - это одно и то же?

И уж если при вызове действия (мутаций это тоже касается) используете объектный синтаксис - payload должен передаваться не отдельным параметром, а как часть первого:

this.$store.dispatch({
  type: 'addContact',
  payload,
});

actions: {
  addContact: ({ commit }, { payload }) => commit('ADD_CONTACT', payload),
},

Ну и не очень понятно, зачем тут вообще нужно действие, никаких асинхронных операций не выполняете, можете сразу мутацию вызывать: this.$store.commit('ADD_CONTACT', payload).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы