为了账号安全,请及时绑定邮箱和手机立即绑定

为什么带有2个可选参数的React Route与简单URL不匹配

为什么带有2个可选参数的React Route与简单URL不匹配

一只名叫tom的猫 2021-05-14 14:09:09
仅供参考,我正在使用React Router5。我的package.json中具有以下依赖项:“ react-router-dom”:“ ^ 5.0.0”,[问题以更简化的示例进行编辑]让我描述一下我面临的问题。以下所有网址http://localhost:3001/contact  http://localhost:3001/contact/  http://localhost:3001/contact/john50匹配以下路线(带有1个可选参数)<Route path="/contact/:name([A-Za-z]+)?" component={Contact} />JSfiddle实现了上述行为。然后,我通过添加另一个可选参数age来更新了上述Route。看起来像这样:<Route path="/contact/:name([A-Za-z]+)?:age(\d{2})?" component={Contact} />为什么此具有2个可选参数的新路由会与此URL匹配:http://localhost:3001/contact/而不是通过此URL:http://localhost:3001/contactJsfiddle的这种奇怪的行为为什么 ?有人可以解释吗?
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

试试这个,

<Route path="/contact/:name?/:age?" component={Contact} />

另请参阅


查看完整回答
反对 回复 2021-05-20
  • 2 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信