You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置Route路由路径的URL参数为可选匹配

解决方案分两种情况,取决于你使用的React Router版本:

1. React Router v5及更早版本

直接在可选参数名后加问号?即可,修改后的配置如下:

<Route path="/etc/:id?/">
  <Component />
</Route>

修改后无论是访问/etc/还是带参数的/etc/123/都可以正常匹配该路由,组件内获取id参数时,如果没有传参返回值为undefined。

2. React Router v6版本

v6同样支持用问号标记可选参数,不过路径匹配规则更严格,如果你需要同时匹配不带末尾斜杠的/etc和带参数的/etc/123,可以把路径调整为:

<Route path="/etc/:id?">
  <Component />
</Route>

如果需要保留末尾斜杠的匹配规则,直接写成/etc/:id?/即可,v6会自动处理可选参数的匹配逻辑。

小提示:组件内获取路由参数时建议增加非空判断,避免未传id时出现取值报错的问题。


内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:05