我正在为我的 react 应用程序使用 create-react-app 样板,并为路由使用 react-router 3.0.0 版本。
我想在需要时加载组件,即基本上是代码拆分。
我被卡住了,因为我不知道如何进行代码拆分,因为我有一个 HOC 可以检查用户角色,如果用户没有特定路线的角色,那么我会将用户重定向到一些“未经授权”的路线。
我还有 onEnter 函数,需要在加载任何组件之前调用它,它将检查用户令牌是否已过期,如果令牌已过期,我会将用户重定向到登录页面。
因此,如果有人可以在这种情况下帮助我进行代码拆分。
下面是我的 Route.js 文件
<Route path="/" component={App}>
<IndexRoute onEnter={this.handleLoginRedirect} component={Login} />
<Route path="/" component={Layout} onEnter={this.handleRouteEnter} onChange={this.handleRouteChange}>
<Route path="admin" component={Authorization(Admin, Constant.AdminAuthorizeRoles, '/unauthorised')}>
<Route path=":mode/:id" component={Admin}>
<Route exact path=":subMode" component={Admin}/>
</Route>
</Route>
<Route path="admin-summary" component={Authorization(AdminOrderSummary, Constant.AdminAuthorizeRoles, '/unauthorised')}/>
<Route path="user-profile" component={Authorization(Profile, Constant.userProfileAuthorizeRole, '/unauthorised')}/>
<Route path="new-user" component={Authorization(NewUser, Constant.createNewUserProfileAuthorizeRole, '/unauthorised')}/>
<Route path="/unauthorised" component={UnAuthorisation}/>
</Route>
<Route path="/logout" component={Logout}/>
</Route>