将react-router v3迁移到v4

时间:2017-04-17 17:13:43

标签: reactjs react-router

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

谢谢!

<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>

1 个答案:

答案 0 :(得分:7)

不要筑巢路线。

保留此部分

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

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

查看documentation,这真是不可思议。