使用反应路由器v4匹配多个路径

时间:2017-04-21 13:59:11

标签: reactjs react-router

鉴于我有2个路径呈现相同的组件,我如何避免重复这样的路由配置:

<Route path="/path1" component={MyComp} />
<Route path="/path2" component={MyComp} />

4 个答案:

答案 0 :(得分:15)

到目前为止我找到的最佳解决方案(但似乎有点奇怪):

<Route path="/:path(path1|path2)" component={MyComp} />

答案 1 :(得分:6)

很棒的答案。这也有助于以下情形:

<Route path="/path/path1" component={MyComp} />
<Route path="/path/:subpath(path2|path3)" component={MyAnotherComp} />

如果路径为(path2|path3),则无MyComp MyAnotherComp/path/path2。{/ p>

PS。会添加评论,但不符合条件:)。

答案 2 :(得分:0)

如果您需要允许多个匹配项(不同的参数),但又没有参数-例如匹配网址:

  • /问题
  • / questions / posted
  • / questions / answered

您可以使用可选参数(请在方括号后注意问号)

<Route path="/questions/:tab(posted|answered)?" component={...} />

答案 3 :(得分:0)

<Route path={["/common-one", "/common-two"]} component={Common} />

对于以上版本5 https://reactrouter.com/web/api/Route