首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改URL中的单个参数

更改URL中的单个参数
EN

Stack Overflow用户
提问于 2017-07-28 23:37:54
回答 1查看 2.1K关注 0票数 5

除了对一些参数的更改外,我希望能够创建指向我所在的同一条路径的链接,

在我的网站上,我决定使用这样的网址:/list/:page(\d+)?/:filter?。现在,在我的组件中,我可以访问match (使用withRouter HOC)。在我的情况下它包含

代码语言:javascript
复制
{
  isExact: true
  params: {page: "3", filter: "duckbitt"}
  path: "/listing/:page(\d+)?/:filter?"
  url: "/listing/3/duckbitt"
}

这是非常好的,因为我有对口和路径。现在,这提出了两个问题:

  1. 对于这种情况,是否有反应路由器内置的解决方案?
  2. 如果没有,是否有可能使用path-to-regexp解决方案,或者我应该使用朴素的搜索和替换?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-28 23:42:22

当然,在发布这个问题之后,就会出现一个解决方案。

代码语言:javascript
复制
import pathToRegexp from 'path-to-regexp';
// (...)
const toPath = pathToRegexp.compile(match.path);
const newPath = toPath({ ...match.params, page: 666 });
console.log(newPath); // "/listing/666/duckbitt"
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45383782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档