当前位置:首页 > React

react 如何跳转

2026-01-13 11:02:44React

使用 React Router 进行页面跳转

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

安装依赖

npm install react-router-dom

声明式导航(Link 组件)

react 如何跳转

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

function NavBar() {
  return (
    <Link to="/about">关于页面</Link>
  );
}

编程式导航(useNavigate Hook)

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

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

  const handleClick = () => {
    navigate('/profile'); // 跳转到指定路径
    navigate(-1); // 返回上一页
    navigate('/user', { replace: true }); // 替换当前历史记录
  };

  return <button onClick={handleClick}>跳转</button>;
}

路由参数传递

URL 参数跳转

react 如何跳转

navigate(`/user/${userId}`); // 跳转时携带参数

查询参数跳转

navigate('/search?keyword=react'); // 通过URL查询字符串传参

状态参数跳转

navigate('/profile', {
  state: { user: currentUser }
});

路由配置示例

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

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

重定向处理

使用 Navigate 组件实现自动跳转:

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

function PrivateRoute() {
  const isAuth = checkAuth();
  return isAuth ? <Dashboard /> : <Navigate to="/login" />;
}

注意事项

  • 确保所有跳转目标路径已在路由配置中正确定义
  • 编程式导航通常在事件处理函数或 useEffect 中使用
  • 使用 TypeScript 时可对路由参数进行类型定义
  • 嵌套路由需要配置对应的嵌套 Route 结构

以上方法覆盖了 React 应用中大多数路由跳转场景,可根据具体需求选择合适的方式。

标签: 跳转react
分享给朋友:

相关文章

react native如何启动

react native如何启动

React Native 启动步骤 确保已安装 Node.js(建议版本 14 或更高)和 npm/yarn。安装完成后,通过命令行工具执行以下操作。 初始化新项目 使用 React Native…

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指阻止组件在特定条件下进行不必要的渲染。可以通过以下几种方式实现: 条件渲染 使用条件语句(如if或三元运算符)直接返回null,避免渲染组件内容。例如:…

react如何鉴定

react如何鉴定

React 鉴权方法 基于路由的鉴权 在 React 中,可以通过封装路由组件实现鉴权。使用 react-router-dom 检查用户是否登录,未登录则跳转至登录页。 import { Ro…

vue实现拼接路径实现跳转

vue实现拼接路径实现跳转

实现拼接路径跳转的方法 在Vue中,可以通过多种方式拼接路径并实现跳转。以下是几种常见的实现方法: 使用router-link组件 通过模板中的router-link组件动态拼接路径: <…

vue实现点击跳转

vue实现点击跳转

Vue 实现点击跳转的方法 在 Vue 中实现点击跳转可以通过以下几种方式: 使用 router-link router-link 是 Vue Router 提供的组件,用于声明式导航。适合在模板中…

vue实现界面跳转

vue实现界面跳转

路由配置 在Vue项目中实现界面跳转通常依赖Vue Router。需在router/index.js中配置路由路径和组件映射关系: import { createRouter, createWeb…