【发布时间】:2016-09-16 22:26:29
【问题描述】:
我正在使用 React Router onEnter 属性来处理身份验证,如下所示,也如 "auth-flow" example 中所示。
function requireAuth(nextState, replace, next) {
Auth.validateToken()
.then(() => {
next();
})
.fail(() => {
replace('/login');
next();
});
}
<Router history={history}>
<Route path="/" component={App} >
<IndexRoute
component={Dashboard}
onEnter={requireAuth}
/>
<Route
path="login"
component={LogInForm}
/>
</Route>
</Router>
我正在使用onEnter 的异步回调功能,因为我的令牌验证需要服务器调用。
我遇到的问题是此示例中的Dashboard 组件在调用next() 之前渲染/安装。理想情况下,渲染会等到回调被触发。
我是否误解了它的工作原理?有没有办法延迟渲染路由组件,直到某些条件成立?
【问题讨论】:
标签: javascript reactjs redux react-router