Infinite redirect in navigation guard 死循环

使用全局前置守卫碰到死循环

刚学习了路由守卫,想写个小demo随便玩一下,然后浏览器就报了 Infinite redirect in navigation guard

错误示范:

router.beforeEach((to, from, next) => {
		next('/')
}

这样的代码会使路由陷入死循环,不断地重复进入 根路径 又从根路径 出来的无限循环。
在实现跳转路由的时候,一定要以

next()

结尾

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在导航守卫中出现无限重定向的情况可能是由于几种可能的原因引起的。 首先,导航守卫的钩子(beforeEach、beforeResolve等)中的next函数被错误地多次调用,导致无限循环重定向。每当调用next函数时,应确保只有一次调用,并且调用的是正确的next函数(例如next()或next('/path'))。 其次,可能在导航守卫中设置了无限循环重定向的条件。例如,在beforeEach钩子中,可能根据某些条件判断是否应该重定向到特定路径。如果这个条件始终为真,将导致无限循环重定向。在设置条件时,请确保条件可以在某个时刻为假,避免出现无限重定向。 还有可能是由于路由配置的问题导致的。例如,可能设置了一个重定向路由,该路由的目标路径又指向了一个需要重定向的路由,从而导致无限循环。在路由配置中,请仔细检查重定向的路径和目标路径,确保没有形成循环的结构。 此外,在使用导航守卫时,可能需要注意它们的触发顺序。如果多个导航守卫的触发顺序不正确,可能会导致无限循环重定向。请确保导航守卫的触发顺序正确,并且守卫函数正确地调用了next函数。 综上所述,导航守卫中出现无限重定向的问题可能是由于错误的next函数调用、无限循环的条件、路由配置问题或守卫触发顺序问题引起的。需要仔细检查代码,确保这些问题被正确处理,从而避免无限重定向的情况发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值