当前位置:首页 > React

react实现点击路由跳转

2026-01-27 13:09:03React

使用 react-router-dom 实现路由跳转

安装 react-router-dom(若未安装):

npm install react-router-dom

在根组件(如 App.js)中配置路由:

import { BrowserRouter as Router, Routes, Route } 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>
  );
}

通过 Link 组件跳转

在需要跳转的组件中使用 Link

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

function Home() {
  return (
    <div>
      <Link to="/about">跳转到 About 页</Link>
    </div>
  );
}

通过编程式导航跳转

使用 useNavigate 钩子实现动态跳转(如点击按钮):

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

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

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

  return (
    <button onClick={handleClick}>跳转到 About</button>
  );
}

跳转时传递参数

通过 state 或 URL 参数传递数据:

// 方法1:通过 state
navigate('/about', { state: { id: 123 } });

// 方法2:通过 URL 参数
navigate('/about?id=123');

在目标页面接收参数:

// 接收 state
import { useLocation } from 'react-router-dom';
const location = useLocation();
console.log(location.state?.id); // 123

// 接收 URL 参数
import { useSearchParams } from 'react-router-dom';
const [searchParams] = useSearchParams();
console.log(searchParams.get('id')); // "123"

动态路由跳转

配置动态路由参数:

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

跳转时传递动态参数:

navigate('/user/123');

在目标页面获取参数:

react实现点击路由跳转

import { useParams } from 'react-router-dom';
const { id } = useParams(); // id = "123"

标签: 跳转路由
分享给朋友:

相关文章

vue实现点击跳转

vue实现点击跳转

路由跳转(Vue Router) 在Vue项目中通过vue-router实现页面跳转是最常见的方式。确保已安装并配置路由: // 路由配置示例(router/index.js) import { c…

vue实现界面跳转

vue实现界面跳转

Vue 实现界面跳转的方法 在 Vue 中实现界面跳转通常使用 Vue Router,以下是几种常见的实现方式: 使用 router-link 组件 通过声明式导航实现跳转,适合模板中使用: &l…

vue 实现页面跳转

vue 实现页面跳转

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

vue路由实现登录

vue路由实现登录

路由守卫实现登录验证 在Vue项目中,可以通过路由守卫(Navigation Guards)来实现登录验证逻辑。路由守卫能在路由跳转前、跳转后或跳转时进行拦截处理。 安装路由依赖 npm inst…

vue实现跳转高亮

vue实现跳转高亮

Vue实现路由跳转高亮 在Vue项目中实现导航菜单跳转高亮效果,通常结合vue-router的active-class特性。以下是几种常见实现方式: 使用router-link的active-cla…

实现js页面跳转页面

实现js页面跳转页面

使用 window.location.href 通过修改 window.location.href 实现跳转,浏览器会加载新页面并记录到历史记录中: window.location.href = "…