javascript - 在 react-router 中用连字符匹配路由

标签 javascript reactjs react-router

我有这样的网址;

http://0.0.0.0/country/bosnia-and-herzegovina-644

这是我的路由声明

<Route path="/country/:countrySlug-:countryId" component={CountryPage} />

所以这不起作用,因为连字符打破了它,我怎么能改变它所以我只提取最后一个连字符作为参数,我真的不想改变我的 slug 生成系统来使用不同的字符,因为这些是恕我直言,最具可读性,但仅用于信息,不用于内容加载。

谢谢

最佳答案

我不知道你是否可以这样做,但也许你可以这样做:

<Route path="/country/:country" component={CountryPage} />

然后在组件中:

const countryId = this.props.match.params.country.slice('-').pop();

关于javascript - 在 react-router 中用连字符匹配路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088100/

相关文章:

reactjs - 单独的 Axios 调用数组中的每个项目

javascript - 扩展状态 react

javascript - 自定义静态路由不起作用

javascript - 阻止 popstate 事件运行?

javascript - 在现有数组中添加数组中的新对象

javascript - KnockoutJS 呈现具有多个模板和可变列数的表

javascript - 将分隔字符串转换为 Javascript 中的对象数组

javascript - 通过 jquery 获取和设置图像 URL

javascript - 当 prop 在父组件中更改时,子组件中的输入不会更新

reactjs - 如何删除 React Router 中的最后历史记录?