鉴于我有2个路径呈现相同的组件,我如何避免重复这样的路由配置:
<Route path="/path1" component={MyComp} />
<Route path="/path2" component={MyComp} />
答案 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)
如果您需要允许多个匹配项(不同的参数),但又没有参数-例如匹配网址:
您可以使用可选参数(请在方括号后注意问号)
<Route path="/questions/:tab(posted|answered)?" component={...} />
答案 3 :(得分:0)
<Route path={["/common-one", "/common-two"]} component={Common} />