迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > React >

在 React 中重定向到外部 URL

作者:迹忆客 最近更新:2022/09/30 浏览次数:

使用 window.location.replace() 方法重定向到 React 中的外部 url,例如 window.location.replace('https://www.jiyik.com')。 如果满足某个条件,我们可以通过调用 replace() 方法以编程方式将当前资源替换为提供的 URL。

import {BrowserRouter as Router, Link, Route, Routes} from 'react-router-dom';

export default function App() {
  return (
    <Router>
      <div>
        <Link to="/about">About</Link>

        <br />
        <br />

        {/* 👇️ 如果需要简单地链接到外部 URL */}
        <a href="https://www.jiyik.com" target="_blank" rel="noreferrer">
          Jiyik.com
        </a>
      </div>

      <Routes>
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

function About() {
  // 👇️ 重定向到外部url
  window.location.replace('https://www.jiyik.com');

  return null;
}

当用户导航到 /about 路由时,代码片段会重定向到外部 URL。

这可以是任何其他条件,也可以在 if 语句中使用。

我们可以使用 location.replace() 方法将当前资源替换为提供的 URL。

使用 replace() 方法时,当前页面不会保存在会话历史记录中。

换句话说,用户将无法使用后退按钮导航到它。

我们希望避免这种行为,因为如果用户导航回 /about 路由,他们将再次被重定向到 www.jiyik.com,并且他们将无法使用后退按钮功能。

如果我们想让用户返回重定向他们的页面,请使用 window.location.href 而不是 window.location.replace

import {BrowserRouter as Router, Link, Route, Routes} from 'react-router-dom';

export default function App() {
  return (
    <Router>
      <div>
        <Link to="/about">About</Link>

        <br />
        <br />

        {/* 👇️ 如果需要简单地链接到外部 URL */}
        <a href="https://www.jiyik.com" target="_blank" rel="noreferrer">
          Jiyik.com
        </a>
      </div>

      <br />

      <Routes>
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

function About() {
  // 👇️ 使用 window.location.href 👇️
  window.location.href = 'https://www.jiyik.com';
  return null;
}

使用 window.location.href 而不是 window.location.replace 是不同的,因为它允许用户返回到重定向他们的路由。

在这种特殊情况下,如果用户点击返回,他们将再次被重定向到谷歌。

请注意,如果需要简单地链接到外部 URL,则可以使用 <a> 标记。

export default function App() {
  return (
    <a href="https://www.jiyik.com" target="_blank" rel="noreferrer">
      Google.com
    </a>
  );
}

React 路由器链接组件旨在仅用于内部导航。

a 元素的 target 属性设置为 _blank 时,外部链接将在新选项卡中打开。 如果要在同一选项卡中打开外部 URL,可以删除该属性。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 中将 Stderr 和 Stdout 重定向到一个文件

发布时间:2023/05/04 浏览次数:130 分类:操作系统

本文介绍了如何在 Bash 中重定向 stderr 和 stdout。让我们开始了解 Linux 中的标准输出和标准错误这两个术语。Linux 中的标准输出和标准错误 在 Linux 中,命令从用户那里获取一些输入,可以是文件

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 301 重定向

发布时间:2023/03/29 浏览次数:132 分类:PHP

本教程演示如何使用 PHP 和 301-redirect 永久重定向到 URL 或域。

在 HTML 中重定向

发布时间:2023/03/27 浏览次数:131 分类:HTML

本教程介绍如何将一个页面重定向到 HTML 中的另一个页面。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:137 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

在 React 中循环遍历对象数组

发布时间:2023/03/18 浏览次数:124 分类:React

在 React 中循环对象数组: 使用 map() 方法迭代数组。 我们传递给 map() 的函数会为数组中的每个元素调用。 该方法返回一个新数组,其中包含传入函数的结果。 export default function App (

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便