2016-03-08 77 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组件

这应该有助于