已解决:使用 react router v6 重定向

与 React Router v6 重定向相关的主要问题是当发生重定向时组件不会重新渲染。 这意味着与组件关联的任何状态或道具在重定向发生时都不会更新,并且对这些值所做的任何更改都不会反映在新页面中。 此外,由于 React Router v6 不支持查询字符串,因此在 URL 中传递的任何查询参数也将在重定向期间丢失。

import { Redirect } from "react-router-dom";

<Redirect to="/home" />

1. 这一行从 react-router-dom 库中导入了 Redirect 组件。

2. 此行呈现一个重定向组件,它将用户重定向到“/home”路由。

如何在 React Router v6 中重定向

v6

React Router v6 提供了一个名为 可用于将用户从一个页面重定向到另一个页面。 要使用它,您只需从 react-router-dom 包中导入 Redirect 组件,然后在您的路由配置中使用它。 当用户访问“from”属性中指定的路径时,他们将被重定向到“to”属性中指定的路径。 例如:

从'react-router-dom'导入{重定向};
} />

登录后如何在 react router v6 中重定向

成功登录后重定向是 Web 应用程序中的常见功能。 在 React Router v6 中,你可以使用 组件在成功登录后重定向用户。

为此,您需要创建一个路由来检查用户是否已登录,然后相应地重定向他们。 例如:

{
如果(isLoggedIn){
回报 ;
} {
回报 ;
}
}} />

在此示例中,我们检查用户是否已登录,然后呈现 LoginPage 组件或将它们重定向到 /dashboard。 您还可以像这样将 props 传递到 Redirect 组件中: 这使您可以跟踪用户在被重定向之前的位置。

我如何自动重定向反应

React Router 提供了一个 Redirect 组件,可用于在满足某些条件时自动重定向用户。 要使用它,您必须传入要重定向到的路径作为道具。 如果需要,您还可以传入带有状态和/或查询参数的对象。

要自动重定向,您需要在 Route 组件中使用该组件,并设置重定向何时发生的条件。 例如,如果您希望在用户单击链接后将用户从您应用程序的主页重定向到登录页面,您可以这样做:


{已登录? : }

在此示例中,我们使用 isLoggedIn 布尔变量(需要在其他地方设置)作为执行重定向的条件。 如果为真,则渲染 Home 组件; 否则,我们执行重定向。

你如何在反应 5 秒后重定向

要在 React Router 中 5 秒后重定向,您可以使用 setTimeout() 函数以所需路由作为参数调用 history.push() 方法。

示例:
从“react-router-dom”导入{useHistory};
const 历史 = useHistory();
设置超时(()=> {
历史记录.push(“/redirectedPage”);
},5000);

相关文章:

1 个关于“已解决:使用 React router v6 进行重定向”的思考

  1. pingback的: 网址

发表评论