Ошибка Vuex: «Не изменяйте состояние хранилища Vuex вне обработчиков мутаций». - PullRequest
0 голосов
/ 25 августа 2018

У меня на сайте есть кнопка, которая выполняет следующее действие:

this.$store.commit('SET_THREAD_UPDATE', thread)

'поток' - это объект, состоящий из нескольких свойств и объектов, и при вызове функции может произойти только небольшое изменение внутри объекта 'потока' или одного из его свойств.

'SET_THREAD_UPDATE' - это мутация Vuex, единственная из многих, которая вызывает проблемы, даже если я не делаю ничего по-другому.

const state = {
    threadUpdate: {}
}

const mutations = {
    SET_THREAD_UPDATE (state, userObj) {
        state.threadUpdate = userObj
    }
}

Когда кнопка, которая запускает фиксацию, нажата в первый раз, все работает как ожидалось. Но потом, со второго раза, я получаю две ошибки, и коммит ничего не делает:

[Vue warn]: Error in callback for watcher "function () { return this._data.$$state }": "Error: [vuex] Do not mutate vuex store state outside mutation handlers." (found in <Root>)

Error: "[vuex] Do not mutate vuex store state outside mutation handlers."

Я не могу понять ошибку. Это не имеет смысла, потому что я использую мутацию, чтобы изменить состояние. Идеи кого-нибудь? Спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Решением проблемы было использование JSON вместо обычных объектов JS.Хотя не уверен почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...