如果用户未登录,我会尝试将用户重定向到“TrapPage”。
这是我的代码:
function requireAuth(nextState, replace) {
if (!auth.loggedIn()) {
replace({
pathname:'/trap'
})
}
}
export default (
<Route path="/" component={App} onEnter={requireAuth}>
<IndexRoute component={DashboardPage} />
<Route path="trap">
<IndexRoute component={TrapPage}/>
</Route>
<Route path="accounts">
<IndexRoute component={AccountPage}/>
<Route path="add" component={AccountAdd} />
<Route path="detail/:id" component={AccountDetail} />
</Route>
<Route path="contacts">
<Route path="detail/:id" component={ContactPage}/>
</Route>
<Route path="transmissors">
<Route path="detail/:id" component={TransmissorPage}/>
</Route>
<Route path="attends" component={AttendancePage} />
<Route path="reports" component={ReportPage} />
<Route path="configs" component={ConfigurationPage} />
</Route>
);
当我将函数 requireAuth 放在 onEnter 时,控制台给了我一个错误:
Uncaught RangeError: Maximum call stack size exceeded
我是 React 的初学者,请耐心等待 :)
我的代码有什么问题?