当前位置:首页 > React

react通过js实现跳转

2026-01-27 17:59:11React

使用 window.location 进行跳转

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

// 直接修改 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 钩子实现编程式导航,无需刷新页面。

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> 组件实现跳转,适用于需要根据状态(如登录验证)自动重定向的场景。

react通过js实现跳转

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
分享给朋友:

相关文章

vue 实现登录跳转

vue 实现登录跳转

实现登录跳转的核心逻辑 在Vue中实现登录跳转通常涉及路由守卫、状态管理和API交互。以下是具体实现方式: 配置路由守卫 在路由配置文件中添加beforeEach守卫,检查用户是否已登录。未登录时重…

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通常…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react如何验证

react如何验证

表单验证方法 在React中验证表单数据通常使用以下几种方式: 内置HTML5验证 利用HTML5原生表单验证属性如required、pattern等,结合form.noValidate属性禁用浏览…

react 如何运行

react 如何运行

运行 React 项目的步骤 安装 Node.js 确保系统已安装 Node.js(建议版本 16+),可通过官网下载并安装。安装后验证版本: node -v npm -v 创建 React 项目…