2016-07-06 227 views
5

所有:使用絕對路徑或相對路徑陣營路線

我非常新反應路由器,當我跟隨它的官方教程在第7課:

https://github.com/reactjs/react-router-tutorial/tree/master/lessons/07-more-nesting

當涉及到航線像PARAMS:

// index.js 
// ... 
<Route path="/repos" component={Repos}> 
    <Route path="/repos/:userName/:repoName" component={Repo}/> 
</Route> 

它開始使用絕對路徑,我想知道:

[1] React-Router如何決定使用abosulte路徑還是相對路徑,僅僅是因爲路徑以斜槓「/」開頭(我發現的一件事是:一旦我在開始時將斜槓添加到相對路徑,那條路徑變成絕對路徑,不管它的父路由是什麼。)?

[2]有沒有辦法可以使用相對參數路徑路徑?如果不是,那麼父路由的路徑是「/ repos」的點是什麼?

感謝

回答

3
  1. 陣營路由器目前使用絕對路徑,but they are working on relative routes

  2. 如果你想相對路徑,它看起來像人們越來越從比賽PARAM目前的路線,然後附加一個路線到它。例如,<Route path={match.path + '/more/stuff'}/>

在你給的例子,問題是,只要當前的路徑包含/repos會有一些內容,這將是可見的(鏈接到由component={Repos}產生的回購協議列表)。當路徑爲/repos/:userName/:repoName時,它將繼續顯示該內容,因爲路徑仍匹配/repos,但它也會顯示特定的回購內容(component={Repo})。