Я использую Vue.js с магазином vuex.Я вызываю метод API для проверки элемента, метод возвращает массив ошибок и массив предупреждений.
Мое действие vuex:
export function validateitemReview ({ commit, dispatch, state }, { reviewId, type, itemreviewData }) {
console.log('*** validateItemReview() called')
return api.post(`/clients/districts/reviews/${reviewId}/${type}/validate`, itemreviewData).then(response => {
console.log('response.data :')
console.log(response.data)
commit('setItemReviewsErrors', 'teststring')
})
}
Как видите, яне очень много с ответом еще.Вызванная мутация setItemReviewsErrors
в хранилище vuex:
export const setItemReviewsErrors = (state, data) => {
console.log('*** setItemReviewsErrors() called, data:')
console.log(data)
}
Вот моя проблема, вывод моей консоли следующий:
*** validateItemReview() called
response.data :
{
fatal_errors: []
warnings: []
__proto__: Object
}
*** setItemReviewsErrors() called, data:
teststring
, непосредственно сопровождаемый этой ошибкой:
Uncaught (in promise) TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at eval (vuex-persistedstate.es.js?0e44:1)
at eval (vuex-persistedstate.es.js?0e44:1)
at eval (vuex.esm.js?2f62:392)
at Array.forEach (<anonymous>)
at Store.commit (vuex.esm.js?2f62:392)
at Store.boundCommit [as commit] (vuex.esm.js?2f62:335)
at local.commit (vuex.esm.js?2f62:651)
at eval (itemreview_actions.js?0d87:62)
itemreview_actions.js?0d87:62
- это следующая строка в моем действии vuex validateitemReview()
:
commit('setItemReviewsErrors', 'teststring')
, если я это прокомментирую, ошибки больше не будет.Я не могу понять, где может быть моя «круговая структура», когда проблемы возникают из-за совершения простой строки.
Еще лучше, почему:
- my
console.log()
fromмутация setItemReviewsErrors
все еще печатается, и ошибка появляется после того, как ошибка появляется при вызове этого метода - Если я перезагрузлю страницу (Ctrl + R в браузере), ошибок не будет, но если яоставьте его (перейдите на другую страницу), а затем вернитесь к нему, ошибка выдается снова.
Обновление
Кажется, проблема связана с плагином vuex-persistedstate
.Я узнал, что магазин Vuex этого приложения использует его.Я не одинок в этой проблеме:
Но разработчик просто закрываетБилеты.Если у кого-то есть решение этой проблемы, мне не разрешается удалять постоянный плагин.