为了账号安全,请及时绑定邮箱和手机立即绑定

react-router 在使用onEnter 时遇到了Maximum call stack

react-router 在使用onEnter 时遇到了Maximum call stack

qq_遁去的一_1 2018-08-01 13:14:24
如下代码,我在root上使用onEnter 来判断用户是否已登录然后进行相应的跳转,跳转到主界面,或者登陆界面。但是这个地方会导致Maximum call stack size exceeded。<Router history={browserHistory}>    <Route path='/' component={Main} onEnter={requireAuth}>       <Route path='login' component={Login} />     </Route></Router>requireAuth(nextState,replace,callback){    if(isLogined) {          replace('/home');     } else {         replace('/login');     }     callback(); }原因,主要是每次都会调用onEnter直到爆栈,解决方法可以通过在相应需要验证的route上添加onEnter进行验证。但这种需要每次添加感觉代码会不简洁,想知道有没有只在一个地方添加onEnter或者有什么更好的处理方法来避免重复添加onEnter的问题?
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

我每次遇到Maximum call stack size exceeded都是因为死循环,多写几个console.log,看看哪里在死循环


查看完整回答
反对 回复 2018-10-18
  • 1 回答
  • 0 关注
  • 575 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信