React路由器无法通过params

时间:2016-03-08 13:53:28

标签: reactjs react-router

我正在为我的项目使用react路由器,但我无法弄清楚为什么我无法将参数传递到我的Url。

我在这里定义了我的路线:

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

你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

将您的组件更改为:

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

您可以查看React-Router Link以获取有关Link组件

的更多信息

这应该有帮助