RangeError:超过最大调用堆栈大小| Vue.js
我已经和这个错误斗争了一段时间,谷歌说这是一个循环,但我还没有在我的代码中找到一个循环。我确实知道路由器正在尝试重新加载并与错误消息相关,因为在我的Chrome控制台中,我得到RangeError:超过最大调用堆栈大小| Vue.js,vue.js,vue-router,Vue.js,Vue Router,我已经和这个错误斗争了一段时间,谷歌说这是一个循环,但我还没有在我的代码中找到一个循环。我确实知道路由器正在尝试重新加载并与错误消息相关,因为在我的Chrome控制台中,我得到令牌:null大约100次 我已经包括了我认为是相关的文件,去掉了不需要的东西。在my store.js文件中,您将看到I console.log令牌,因为它被传递到authUsermutation,该令牌在我的控制台中正确输出,因此没有丢失令牌的问题 main.js router.beforeEach((to, from
令牌:null
大约100次
我已经包括了我认为是相关的文件,去掉了不需要的东西。在my store.js文件中,您将看到I console.log令牌,因为它被传递到authUser
mutation,该令牌在我的控制台中正确输出,因此没有丢失令牌的问题
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')
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
})
},
}
store.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')
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')
}
在你粘贴的代码中看起来不像它。在你粘贴的代码中看起来不像它