在v6中重定向的正确过程是什么?我之前在v5中使用了以下代码,它工作得很好:
<Route path="/login">
{user ? <Redirect to="/" /> : <LoginStandard />}
</Route>
但是,我想在这个版本中使用相同的逻辑。当我的用户登录后,我想重定向。
<Route path="/login">
<Route index element={<LoginStandard />} />
</Route>
在v6中重定向的正确过程是什么?我之前在v5中使用了以下代码,它工作得很好:
<Route path="/login">
{user ? <Redirect to="/" /> : <LoginStandard />}
</Route>
但是,我想在这个版本中使用相同的逻辑。当我的用户登录后,我想重定向。
<Route path="/login">
<Route index element={<LoginStandard />} />
</Route>
2条答案
按热度按时间8ehkhllq1#
使用
Navigate
组件进行重定向。仍然需要应用条件渲染逻辑,并在Route
组件的element
prop上渲染组件。示例:
通常认为更好的做法是将其抽象到自定义路由保护组件中,该组件有条件地呈现嵌套路由的
Outlet
或Navigate
组件。示例:
...
ego6inou2#
使用React Router Dom
v6
,您可以使用Navigate
和useNavigate
进行重定向,而不是v5
中使用的Redirect
和useHistory
。如下所示。请参阅评论: