我对react,redux和react-redux-router有一个小问题。
这很简单,但是我不知道解决此问题的最佳方法是什么,让我们开始吧。
我正在使用一个具有登录屏幕的简单应用程序,并且某些页面具有对身份验证用户的重新调整的访问权限。
这是我的路由器:
<Provider store={store}>
<Router history={browserHistory}>
<Route path={Config.baseUrl} component={App}>
<Route path="login" component={Login} />
<Route component={Administration}>
<IndexRoute component={Statistics} />
<Route path="page2" component={p2} />
</Route>
</Route>
</Router>
</Provider>
如果所有未登录的用户尝试访问<Route component={Administration}>
任何页面,我都希望将它们重定向到登录页面(/ login)。
那么实现这一目标的最佳方法是什么? 我可以在每个子componentWillMount
上使用componentWillMount
,但是我敢肯定这不是一个好主意:)。 我还尝试在Administration
组件上找到一个钩子,但没有兴趣。
有什么建议吗?
子问题:我使用dispatch(routeActions.push())
在页面之间导航。 这很好。 但是,如果目标网页(首次加载)不是'/',则抛出404。 我必须先去'/'。
我只使用https://github.com/reactjs/react-router-redux并创建抽象组件AuthorizedViewComponent,它将检查用户状态并将所有未登录的用户重定向到/ login。