2016-03-08 103 views
0

我使用反應路由器爲我的項目,但我不明白爲什麼我不能傳遞一個參數到我的網址。反應路由器不能通過params

在這裏,我定義我的路線:

render(
    <Provider store={store}> 
     <Router history={browserHistory}> 
      <Route path="/" component={App}> 
       <Route path="home" > 
        <Route path="editor/:id" component={EditorContainer}/> 
       </Route> 
      </Route> 
     </Router> 
    </Provider>, 
    document.getElementById('root') 
); 

在我的組件我有這樣一行:

<Link to="/home/editor/:id" params={{id: elem.id}} 
               onClick = {onOpen}>{elem.title} </Link> 

要在EditorContainer打開我的元素

它在我的EditorContainer正確打開但url是這樣的:

http://localhost:8080/home/editor/:id 

,而不是像例如:

http://localhost:8080/home/editor/1234 

你能告訴我什麼,我在做不對嗎?

+0

更改組件 '<鏈接=「/家/ editor/1234「/>',這是幫助嗎? –

+0

不,因爲,ID取決於我點擊的元素 – fandro

+0

我的意思是這樣的 'var link ='/ home/editor「+ elem.id'<鏈接到= {link} />' –

回答

1

您的組件更改爲:

var link='/home/editor' + elem.id; 
<Link to={link} /> 

您可以檢查React-Router Link以獲得更多信息關於Link組件

這應該有助於