如下代码,我在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的问题?
添加回答
举报
0/150
提交
取消