当前位置:首页 > 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
分享给朋友:

相关文章

如何下载react

如何下载react

下载 React 的方法 通过 npm 或 yarn 安装 React 可以通过包管理器 npm 或 yarn 安装。确保已安装 Node.js(包含 npm),然后在项目目录中运行以下命令:…

react如何验证

react如何验证

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

vue实现拼接路径实现跳转

vue实现拼接路径实现跳转

在Vue中拼接路径并实现跳转 使用Vue Router的router.push方法结合模板字符串或路径拼接方法 // 在方法中拼接路径 methods: { navigateTo(path) {…

如何恢复react

如何恢复react

恢复 React 项目的方法 检查并修复依赖项 运行 npm install 或 yarn install 重新安装所有依赖项。如果依赖项损坏或缺失,这将恢复项目所需的库和工具。 恢复删除的文件 如…

react native如何

react native如何

React Native 基础知识 React Native 是一个由 Facebook 开发的框架,用于使用 JavaScript 和 React 构建跨平台移动应用。它允许开发者编写一次代码,同时…

react如何引入

react如何引入

引入React的方法 React可以通过多种方式引入项目,具体取决于项目需求和开发环境。以下是常见的几种方法: 通过CDN引入 在HTML文件中直接通过CDN链接引入React和ReactDOM:…