2016-01-21 39 views
1

我一直在與反應路由器一起工作得很好,直到我不得不嘗試嵌套組件並讓我的導航欄顯示路徑。例如,我想從我的匹配頁面轉到投資組合頁面,然後我想要url反映這個(...... /#/ matches/portfolio)。如何使用反應路由器在嵌套組件之間移動

對我來說,文檔似乎解釋瞭如何做到這一點,但我只能得到更改的網址,而不是頁面內容。沒有錯誤表明只是注意到這種觀點。

下面是一個包含嵌套的路線我的路由器:

ReactDOM.render(
    <Router history={hashHistory}> 
    <Route path="/" component={App}> 
     <Route path="login" component={Login} /> 
     <Route path="home" component={Home} /> 
     <Route path="matches" component={Matches}> 
     <Route path="portfolio" component={Portfolio}> 
      <Route path="search" component={Search} /> 
     </Route> 
     </Route> 
     <Route path="create" component={Create} /> 
     <Route path="join" component={Join}/> 
    </Route> 
    </Router> 
, document.getElementById('app')); 

如果我在比賽頁上,並要鏈接到一個組合我有一個按鈕:

<Link to="matches/portfolio">To Portfolio</Link> 

(理想我想要它有一個portfolioId附加到的網址,但我想保持它簡單的時刻)

回購可以在這裏找到: https://github.com/muddybarefeet/pirateStocks,然後主路由器位於server/client/src/app.jsx和server/client/src/components中的所有組件中。 查看項目運行nodemon server.js和webpack

回答

0

以下是我如何獲得工作路線。這不是什麼docs說,但它的作品!

ReactDOM.render(
    <Router history={hashHistory}> 
    <Route path="/" component={App}> 
    <Route path="/login" component={Login} /> 
    <Route path="/home" component={Home} /> 
    <Route path="/join" component={Join}/> 
    <Route path="/matches" component={Matches} /> 
    <Route path="/matches/portfolio" component={Portfolio} /> 
    <Route path="/matches/portfolio/search" component={Search} /> 
    <Route path="create" component={Create} /> 
    </Route> 
</Router> 
, document.getElementById('app')); 

然後用以下路線:

<Link to="/matches/portfolio">To Portfolio</Link>