当前位置:首页 > React

react如何写跳转

2026-01-24 08:02:37React

使用 React Router 进行页面跳转

React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式:

安装依赖包

npm install react-router-dom

在根组件中配置路由

import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import Home from './Home';
import About from './About';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

编程式导航跳转

在函数组件中使用 useNavigate hook

react如何写跳转

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

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

  const handleClick = () => {
    // 跳转到 about 页面
    navigate('/about');

    // 带参数跳转
    navigate('/about', { state: { id: 123 } });

    // 替换当前历史记录
    navigate('/about', { replace: true });
  };

  return <button onClick={handleClick}>Go to About</button>;
}

声明式导航跳转

使用 Link 组件

import { Link } from 'react-router-dom';

function Nav() {
  return (
    <nav>
      <Link to="/">Home</Link>
      <Link to="/about">About</Link>
      <Link to="/user/123">User Profile</Link>
    </nav>
  );
}

路由参数传递和获取

定义带参数的路由

react如何写跳转

<Route path="/user/:id" element={<User />} />

在目标组件中获取参数

import { useParams } from 'react-router-dom';

function User() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

获取路由状态

使用 useLocation 获取路由状态

import { useLocation } from 'react-router-dom';

function About() {
  const location = useLocation();
  const state = location.state; // 获取 navigate 传递的 state

  return <div>Received state: {state?.id}</div>;
}

重定向

使用 Navigate 组件进行重定向

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

function ProtectedRoute({ isLoggedIn, children }) {
  if (!isLoggedIn) {
    return <Navigate to="/login" replace />;
  }
  return children;
}

这些方法覆盖了 React 应用中常见的路由跳转场景,可以根据具体需求选择合适的方式实现页面导航功能。

标签: 跳转如何写
分享给朋友:

相关文章

vue 实现页面跳转

vue 实现页面跳转

vue 实现页面跳转的方法 在 Vue 中实现页面跳转主要通过路由(Vue Router)完成,以下是几种常见的方式: 声明式导航(模板中使用 <router-link>) 在模板中直接…

vue实现点击跳转路由

vue实现点击跳转路由

vue实现点击跳转路由的方法 在Vue中实现点击跳转路由,可以通过以下几种方式完成,具体取决于项目使用的路由管理工具(如Vue Router)以及需求场景。 使用router-link组件 rout…

java如何写一个接口

java如何写一个接口

在Java中定义接口 接口在Java中是一种抽象类型,用于定义一组方法规范,供类实现。接口通过interface关键字声明,可以包含抽象方法、默认方法、静态方法和常量。 public interfa…

h5实现登录页面跳转页面跳转页面跳转

h5实现登录页面跳转页面跳转页面跳转

使用HTML5实现登录页面跳转 在HTML5中实现登录页面跳转可以通过多种方式完成,包括表单提交、JavaScript跳转和超链接跳转。以下是几种常见的实现方法。 表单提交跳转 使用HTML表单的…

vue实现跳转

vue实现跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,包括使用 Vue Router 进行编程式导航或声明式导航,以及直接使用原生 JavaScript 方法。以下是几种常见的实现方…

jquery 跳转

jquery 跳转

jQuery 页面跳转方法 使用 jQuery 实现页面跳转可以通过多种方式完成,以下是几种常见的方法: 修改 window.location 属性 // 直接跳转到指定 URL window.l…