我在React Router v4中有一个案例:
<Route path="/:time?/:zone?" component={TimeComponent} />
但是,如果路由为:
,我不想渲染该TimeComponent
/user/userId123
如上所示,路径将user
匹配为:time
,将userId123
匹配为:zone
。
我的目标:如果路径包含/user
,我不希望路径匹配。
我知道,我可以使用regex
,但是如果包含/user
,如何指定我不想匹配路径?
寻求帮助
答案 0 :(得分:2)
您可以像这样从反应路由器dom使用交换机:
<Switch>
<Route path="/user/:userId?" component={UserComponent} />
<Route path="/:time?/:zone?" component={TimeComponent} />
</Switch>
与此同时,它一次将仅匹配一条路线,而您的2个参数路线位于末尾。因此,使用这种方法,您可以在时间分量路由之前捕获/ user路由。
请尝试这个。