2015-06-19 28 views
0

我建立一个应用程序做出反应,我必须与显示不同的内容标签页,所以我的路由器是这样的:使在非访问父路径阵营路由器

<Route path="/" name="home" handler={App}> 
    <DefaultRoute handler={Home}/> 
    <Route path="tabs" handler={Tabs}> 
     <Route path="tab1" name="tab1" handler={Tab1}/> 
     <Route path="tab2" name="tab2" handler={Tab2}/> 
    </Route> 
</Route> 

这将产生以下路线:

/ 
/tabs 
/tabs/tab1 
/tabs/tab2 

我想保留相同的行为,但产生以下的人(只有那些):

/ 
/tab1 
/tab2 

任何想法如何做到这一点?

回答

0

这是一个jsfiddle演示它的工作。

<Route name="root" path="/" handler={App}> 
    <DefaultRoute handler={Home} /> 
    <Route name="tabs" path="tab1" handler={Tabs}> 
     <DefaultRoute name="tab1" handler={Tab1} /> 
     <Route name="tab2" path="/tab2" handler={Tab2} /> 
    </Route> 
</Route> 
+0

使用此解决方案,不再呈现包装组件“Tabs”。 –

+0

确实如此,所以只需包装标签即可。用叉子更新答案。 –

+0

谢谢@MozMorris,但是这并没有给出与初始代码相同的行为。我需要'Home'在'/ tab1'中的'/','Tab1'内部''/ tab2'中的'Tabs'和'/ tab2'中'Tabs'内的'Tab2'。你的代码使'Tabs'成为'Home'的一个孩子。 –