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

仅供参考,我正在使用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/contact

Jsfiddle的这种奇怪的行为

为什么 ?有人可以解释吗?


一只名叫tom的猫
浏览 241回答 2
2回答

料青山看我应如是

试试这个,<Route&nbsp;path="/contact/:name?/:age?"&nbsp;component={Contact}&nbsp;/>另请参阅此与此
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript