2017-04-17 167 views
3

我目前正在尝试从v3迁移反应路由器到v4,但我无法完全理解新的概念,我的旧反应路由器v3代码看起来像这样,有人可以请看看并给我一些提示?迁移反应路由器v3到v4

谢谢!

<Router history={ browserHistory }> 
    <Route path="/" component={ App }> 
     <IndexRoute name="index" component={ Index } /> 
     <Route name="documents" path="/documents" component={ Documents } onEnter={ authenticate } /> 
     <Route name="newDocument" path="/documents/new" component={ NewDocument } onEnter={ authenticate } /> 
     <Route name="editDocument" path="/documents/:_id/edit" component={ EditDocument } onEnter={ authenticate } /> 
     <Route name="viewDocument" path="/documents/:_id" component={ ViewDocument } onEnter={ authenticate } /> 
     <Route name="login" path="/login" component={ Login } /> 
     <Route name="recover-password" path="/recover-password" component={ RecoverPassword } /> 
     <Route name="reset-password" path="/reset-password/:token" component={ ResetPassword } /> 
     <Route name="signup" path="/signup" component={ Signup } /> 
     <Route path="*" component={ NotFound } /> 
    </Route> 
    </Router> 

回答

5

请勿嵌套路线。


保留这部分

<Router history={ browserHistory }> 
    <Route path="/" component={ App } /> 
</Router> 

,并把所有的嵌套到<App />(见here)。另外react-router-v4不具有<IndexRoute />的概念(请参阅here)。


检查出documentation,这是不可思议的。

+0

谢谢!将尝试它! PD:docs对我来说非常困难! jajaja – razor7

+1

看看顶部的例子:) – lustoykov

+0

考虑到你的答案,我能够升级从流星厨师基地样板https://github.com/mgscreativa/base看看进口/ ui/layouts/App.js – razor7