React-router嵌套的rotues

时间:2016-05-03 13:54:53

标签: reactjs react-router

这就是我的路由的外观:

<Router history={createBrowserHistory()}>
     <Route path="/" component={App}>
       <IndexRoute component={EventAppContainer}/>
       <Route path="fights" component={FightApp}/>
       <Route path="fighters" component={FightersAppContainer}>
         <Route path="/fighter/:id" component={FighterDetails} />
       </Route>
     </Route>
   </Router>

在FightersAppContainer中,我获取了一些数据,如果我从那里渲染所有内容,我的嵌套路由就能完美地工作。但是,如果我想要更多的子组件,例如FightersAppContainer =&gt; FightersApp =&gt; FighterItem,那么我无法达到我的嵌套路线。我没有得到任何错误,它只是没有显示出来。我该如何解决这个问题?

为了更清楚我是否在FightersAppContainer中使用<Link to={"/fighter/"+fighter.id}>{fighter.last_name}</Link>我实现了我想要的。但是如果我在里面试试FighterItem组件(那是FightersAppContainer组件的子组件)那么我就没有得到想要的结果,事实上我没有得到任何包括错误...... < / p>

1 个答案:

答案 0 :(得分:0)

问题在于:

<Route path="/fighter/:id" component={FighterDetails} />

作为战士路径的孩子,会期望路线为/ fighters / fighter /:id,所以如果你不在战斗机元素本身,你的Link元素必须看起来像这样:

<Link to={"/fighters/fighter/"+fighter.id}>{fighter.last_name}</Link>