Wunder
@Wunder
Веб-разработчик среднего пошиба

В чём причина ошибки «do not mutate vuex store state outside mutation handlers»?

Есть модуль в Store, вот такой:

export const state = () => ({
  list: []
})

export const mutations = {
  addToListM(state, data) {
    state.list.push(data)
  }
}

export const getters = {
  getList: (state) => {
    return state.list
  }
}

В компоненте метод, который коммитит в стейт модуля новые данные из data компонента, после чего приводит некоторые значения data в исходное состояние:

resultToList() {
      this.$store.dispatch('transportcalc/addToList', {params: this.params, indices: this.indices, result: this.result, description: ''})
      this.result = false
      this.indices = false
      this.volume = ''
      this.power = ''
    }

Получаю данные из Store через computed и потом уже разворачиваю таблицу на основе этих данных:

computed: {
    list: {
      get() {
        return this.$store.getters['transportcalc/getList']
      },
      set() {

      }
    }
  },

Проблема в том, что после того, как коммитится первый набор данных в Store и я начинаю менять в Data компонента параметры (конкретно меняю params), то у меня выходит ошибка:

[vuex] do not mutate vuex store state outside mutation handlers

Куда копать?
  • Вопрос задан
  • 1072 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы