问题描述
我在React中使用以下路由语句:
<Switch>
<Redirect from="/start" to="/xyz" />
<Route path="/xyz" component={MyTab} />
<Route exact path="**" component={NotFound} />
</Switch>
现在,在浏览器中,我进入带有散列片段的 / start 路径。我观察到的是:
- 当散列片段仅具有状态时
(例如
http://localhost:3000/start#state=ABC
),我最终进入了 MyTab符合预期。 - 当散列片段同时具有 state 和
id_token (例如
http://localhost:3000/start#state=ABC&id_token=PQR
),我最终进入 未找到,与预期不同。
为什么第二种情况也以MyTab结尾?
解决方法
以下应为您工作:
<Switch>
<Route path="/start" component={MyTab} />
<Route path="/xyz" component={MyTab} />
<Route component={NotFound} />
</Switch>