当前位置:首页 > React

react通过js实现跳转

2026-01-27 17:59:11React

使用 window.location 进行跳转

通过直接修改 window.location.href 或调用 window.location 的方法实现页面跳转。这种方式会触发页面刷新,适用于非 React Router 管理的场景。

react通过js实现跳转

// 直接修改 href
window.location.href = "https://example.com";

// 使用 assign(可回退)
window.location.assign("https://example.com");

// 使用 replace(不可回退)
window.location.replace("https://example.com");

使用 useNavigate(React Router v6)

在函数组件中,通过 React Router 的 useNavigate 钩子实现编程式导航,无需刷新页面。

react通过js实现跳转

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

function MyComponent() {
  const navigate = useNavigate();

  // 跳转到指定路径
  const handleClick = () => {
    navigate("/target-path");
  };

  // 带状态跳转
  const navigateWithState = () => {
    navigate("/target-path", { state: { id: 1 } });
  };

  return <button onClick={handleClick}>跳转</button>;
}

使用 history.push(React Router v5)

在类组件或旧版 React Router 中,通过 history 对象实现跳转。

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

class MyComponent extends React.Component {
  handleClick = () => {
    this.props.history.push("/target-path");
  };

  render() {
    return <button onClick={this.handleClick}>跳转</button>;
  }
}

export default withRouter(MyComponent);

使用 <Navigate> 组件

通过条件渲染 <Navigate> 组件实现跳转,适用于需要根据状态(如登录验证)自动重定向的场景。

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

function ProtectedRoute({ isAuthenticated }) {
  return isAuthenticated ? <Dashboard /> : <Navigate to="/login" />;
}

注意事项

  • 路由兼容性useNavigate 仅适用于 React Router v6,v5 需使用 history.push
  • 状态传递:通过 navigatehistory.push 的第二个参数可传递状态(如 { state: { data } })。
  • 外部链接:跳转到外部域名时需使用 window.location,React Router 仅处理应用内路由。

标签: 跳转react
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 //…

vue实现路由跳转

vue实现路由跳转

Vue 路由跳转的实现方式 在 Vue 中,路由跳转可以通过 vue-router 实现,以下是几种常见的方法: 声明式导航(模板中使用 <router-link>) 通过 <ro…

react native 如何

react native 如何

React Native 开发基础 React Native 是一个用于构建跨平台移动应用的框架,允许开发者使用 JavaScript 和 React 编写代码,同时生成原生 iOS 和 Androi…

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指的是在某些条件下阻止组件渲染或中断正在进行的渲染过程。以下是几种常见的方法: 条件渲染 通过条件判断决定是否渲染组件或部分内容。可以使用if语句或三元…

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app npm…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…