除了对一些参数的更改外,我希望能够创建指向我所在的同一条路径的链接,。
在我的网站上,我决定使用这样的网址:/list/:page(\d+)?/:filter?。现在,在我的组件中,我可以访问match (使用withRouter HOC)。在我的情况下它包含
{
isExact: true
params: {page: "3", filter: "duckbitt"}
path: "/listing/:page(\d+)?/:filter?"
url: "/listing/3/duckbitt"
}这是非常好的,因为我有对口和路径。现在,这提出了两个问题:
path-to-regexp解决方案,或者我应该使用朴素的搜索和替换?发布于 2017-07-28 23:42:22
当然,在发布这个问题之后,就会出现一个解决方案。
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"https://stackoverflow.com/questions/45383782
复制相似问题