2015-06-19 132 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'的一個孩子。 –