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

Posted

技术标签:

【中文标题】react-router中获取某个Route的路径【英文标题】:Get the path of a certain Route in react-router 【发布时间】:2015-11-24 19:20:17 【问题描述】:

在 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>

这会产生一个&lt;a href...&gt; 链接。

但我想以编程方式使用 url 路径,而不是在 &lt;a href...&gt; 链接中。如何以编程方式获取“voteview”路由的 URL 路径?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

查看 v1.0.0 Upgrade Guide

【讨论】:

以上是关于react-router中获取某个Route的路径的主要内容,如果未能解决你的问题,请参考以下文章

React-router history.push()已成功更改URL,但未将我的JXS内容重新呈现为具有匹配路径的正确Route内容

react-router v6新特性

在react-route r中设置params的类型

react-route4 按需加载配置心得

react-router 参数获取

[react-router] React-Router怎么获取URL的参数?