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

Get the path of a certain Route in react-router

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

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

在 React 组件中,我想调用这条路由。 React Router 给了我一个 link:

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

这导致 <a href...> link。

但我想以编程方式使用 url 路径,而不是在 <a href...> link 中。我如何以编程方式获取 URL 到 "voteview" 路由的路径?

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

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

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

查看 v1.0.0 Upgrade Guide