2016-06-08 28 views
0

我有,可以通過下列途徑入門目前與之匹配的路由

example.com/waiting-list 
example.com/waiting-list/success/:email 
example.com/waiting-list/ref/:ref_code 

在我需要顯示正確的UI每種情況下可以訪問的等待列表頁面,因此需要檢查的方法是什麼情況/ URL頁面從...進入。我似乎無法能夠找到這樣的文檔:/ https://github.com/reactjs/react-router

路線:

<Route path='/waiting-list' component={WaitingListPage} /> 
<Route path='/waiting-list/ref/:ref_code' component={WaitingListPage} /> 
<Route path='/waiting-list/success/:ref_code' component={WaitingListPage} /> 

因爲所有路線導致相同的組件(WaitingListPage),並且因爲視圖會有所不同略有不同匹配的路線,我需要找出WaitingListPage組件中的3條路線中的哪一條匹配。

+0

你的路線文件是怎麼樣的? – QoP

+0

react-router應該通過URL呈現正確的組件,爲什麼你需要處理它? – omerts

+0

我不太瞭解你的問題。你能告訴我們你的路線文件嗎? – Chris

回答

1

要確定您遵循的路線,您可以在組件內檢查this.props.route.path的值。這將顯示匹配的路線。

route path

你可能會發現有用的另一個特性是this.props.routeParams這與每個路由參數的值的對象(在這種情況下ref_code值)。


如果由於某種原因,寧可用傳統的JavaScript方法,你可以簡單地得到您的當前URIpath部分:

window.location.pathname 

雖然,你可能會發現類似的對象在this.location,因爲它也會包含屬性,如pathname,basename