Я немного боролся с этой ошибкой, Google говорит, что это цикл, но мне еще не удалось найти цикл в моем коде.Я знаю, что маршрутизатор пытается перезагрузиться и связан с сообщением об ошибке, потому что в моей консоли Chrome я получаю Token: null
примерно ~ 100 раз
Я включил то, что я считаю связанными файлами, и удалилненужные вещи.В моем файле store.js вы увидите, что я console.log токен, так как он передается в мутацию authUser
, этот токен выводится правильно в моей консоли, поэтому нет проблем с отсутствующим токеном.
main.js
router.beforeEach((to, from, next) => {
if(to.fullPath == '/login' || to.fullPath == '/signup') return next()
console.log('Token: ',store.state.token)
if(store.state.token) {
return next()
} else {
return next('/signin')
}
})
new Vue({
render: h => h(App),
store,
router
}).$mount('#app')
store.js
state: {
token: null,
name: '',
companyName: ''
},
mutations: {
authUser(state, userData) {
console.log(userData.token)
state.token = userData.token
}
},
actions: {
tryAutoLogin({commit}) {
const token = localStorage.getItem('token')
if(!token) {return}
commit('authUser',{
token
})
},
}
App.vue
created() {
this.$store.dispatch('tryAutoLogin')
}