您发布的修改对旧版本的React-router(v0.13)有效,并且不再起作用。
反应路由器v1,v2和v3
从版本开始,
1.0.0您可以通过以下方式定义可选参数:
<Route path="to/page(/:pathParam)" component={MyPage} />以及多个 可选 参数:
<Route path="to/page(/:pathParam1)(/:pathParam2)" component={MyPage} />您可以使用括号
(
)来包装路线的可选部分, 包括 前导斜杠(
/)。请查看官方文档的“
路线匹配指南” 页面。
注:
该:paramName
参数相匹配的URL段到下一个/
,?
或#
。有关具体的路径和参数的更多信息,请参见此处。
React Router v4及更高版本
React Router v4从根本上不同于v1-v3,并且 官方文档中 也没有明确定义可选路径参数。
而是,指示您定义path-to-regexp可以理解的
path参数。这样可以在定义路径(例如重复模式,通配符等)时提供更大的灵活性。因此,要将参数定义为可选参数,请添加尾随的问号()。
?
因此,要定义可选参数,请执行以下操作:
<Route path="/to/page/:pathParam?" component={MyPage} />以及多个 可选 参数:
<Route path="/to/page/:pathParam1?/:pathParam2?" component={MyPage} />注意: React Router v4 与react-router-relay
不兼容 (在此处了解更多信息)。请改用v3或更低版本(建议使用v2)。



