在react-router中获取某个Route的路径

时间:2015-08-30 18:16:15

标签: javascript reactjs react-router

在react中使用react-router我声明了一些这样的路由:

<Route name="voteview" path="voteview/:baselineId" handler={VoteView}/>

在React组件中,我想调用此路由。 React Router给我一个链接:

<Link to="voteview" params={{baselineId: this.props.data.baselineId}}>Voteview</Link>

这会产生<a href...>链接。

但我想以编程方式使用url路径,而不是<a href...>链接。如何以编程方式获取“voteview”路径的URL路径?

2 个答案:

答案 0 :(得分:2)

您可以在React Routers上下文中使用makeHref方法生成如下路径:

this.context.router.makeHref('voteview', {baselineId: this.props.data.baselineId})

答案 1 :(得分:2)

从ReactRouter版本1.0开始,makeHref(routeName, params, query)现在是createHref(pathname, query)

请参阅v1.0.0 Upgrade Guide