可选的反应路由器参数
Posted
技术标签:
【中文标题】可选的反应路由器参数【英文标题】:Optional React Router parameter 【发布时间】:2015-12-22 19:09:14 【问题描述】:我正在尝试创建一个匹配以下所有 URL 的路由:
/product/foo
/product/foo/bar
这是我目前的路线:
<Route path="/product/:productName(/:urlID)" handler=SomeHandler />
根据https://github.com/rackt/react-router/blob/master/docs/guides/basics/RouteMatching.md 上的文档,此路由应该完全匹配,但它与上述任何一个 URL 都不匹配。
我需要做什么来支持这个可选参数?
我使用的是 React Router 版本 0.13.3,如果我删除 (/:urlID)
,那么我可以匹配第一个 URL,但不能匹配第二个。
【问题讨论】:
对于 react-router 版本1.0.0
及以上(包括2.x
),看 here...
【参考方案1】:
好的,所以 () 语法特定于 React Router 1.0,而不是 0.13.3。我最终使用了?语法:
<Route path="/product/:productName/?:urlID?" handler=SomeHandler />
【讨论】:
以上是关于可选的反应路由器参数的主要内容,如果未能解决你的问题,请参考以下文章