当前位置:首页 > React

使用react如何跳转页面跳转

2026-03-11 09:16:29React

使用 React Router 进行页面跳转

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

安装依赖

npm install react-router-dom

使用 <Link> 组件跳转

<Link> 是声明式导航,适用于点击链接跳转的场景:

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

function NavBar() {
  return (
    <nav>
      <Link to="/home">Home</Link>
      <Link to="/about">About</Link>
    </nav>
  );
}

使用 useNavigate Hook 编程式跳转

在函数组件中,可以使用 useNavigate 进行编程式导航:

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

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

  const handleLogin = () => {
    // 跳转到指定路径
    navigate('/dashboard');

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

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

  return <button onClick={handleLogin}>Login</button>;
}

使用 <Navigate> 组件重定向

在组件渲染时进行重定向:

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

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

路由配置示例

完整的路由配置通常放在应用入口文件:

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

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<HomePage />} />
        <Route path="/about" element={<AboutPage />} />
        <Route path="/users/:id" element={<UserProfile />} />
      </Routes>
    </BrowserRouter>
  );
}

获取路由参数

在目标页面获取动态路由参数或查询参数:

使用react如何跳转页面跳转

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

function UserProfile() {
  // 获取动态路由参数
  const { id } = useParams();

  // 获取location state
  const location = useLocation();
  const stateData = location.state;

  return <div>User ID: {id}</div>;
}

注意事项

  • 确保所有路由组件都包裹在 <BrowserRouter><Router>
  • 使用 replace 选项可以避免历史记录堆叠
  • 通过 state 传递的数据不会显示在 URL 中,适合敏感信息
  • 类组件应使用 withRouter 高阶组件或 useNavigate 的包装器实现导航

标签: 跳转页面
分享给朋友:

相关文章

php实现页面跳转

php实现页面跳转

PHP 页面跳转方法 在 PHP 中,可以通过多种方式实现页面跳转,以下是几种常见的方法: 使用 header() 函数 header() 函数是 PHP 中最常用的跳转方法,通过发送 HTTP 头…

vue实现引导页面

vue实现引导页面

实现引导页面的方法 在Vue中实现引导页面通常需要结合用户交互和页面跳转逻辑,以下是几种常见的实现方式: 使用路由守卫控制访问权限 在router.js中配置全局前置守卫,检查用户是否首次访问:…

vue 实现页面跳转

vue 实现页面跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,主要包括使用 Vue Router 提供的导航方法和原生 JavaScript 的方式。 使用 Vue Router 的 ro…

实现js页面跳转

实现js页面跳转

使用 window.location.href 通过修改 window.location.href 属性实现跳转,这是最常用的方法: window.location.href = "https://…

vue单页面 实现

vue单页面 实现

Vue 单页面应用(SPA)实现方法 Vue.js 是一个渐进式 JavaScript 框架,非常适合构建单页面应用(SPA)。以下是实现 Vue SPA 的关键步骤和方法。 初始化项目 使用 Vu…

vue实现搜索页面

vue实现搜索页面

Vue 实现搜索页面的方法 基础结构搭建 创建搜索组件,包含输入框和搜索按钮,使用v-model绑定搜索关键词: <template> <div class="search-c…