当前位置:首页 > React

react中如何路由

2026-02-11 22:40:08React

路由基础配置

在React中实现路由通常使用react-router-dom库(适用于Web应用)。通过BrowserRouterHashRouter包裹整个应用,并配置Route组件定义路径与组件的映射关系。

安装依赖:

npm install react-router-dom

基础示例:

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>
  );
}

动态路由与参数传递

通过:定义动态路径参数,使用useParams钩子获取参数值:

react中如何路由

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

// UserProfile组件内:
import { useParams } from 'react-router-dom';
function UserProfile() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

导航与链接

使用Link组件实现页面跳转,避免整页刷新:

import { Link } from 'react-router-dom';
function Navbar() {
  return (
    <nav>
      <Link to="/">Home</Link>
      <Link to="/about">About</Link>
    </nav>
  );
}

编程式导航通过useNavigate钩子:

react中如何路由

import { useNavigate } from 'react-router-dom';
function LoginButton() {
  const navigate = useNavigate();
  return <button onClick={() => navigate('/dashboard')}>Login</button>;
}

嵌套路由

通过Outlet组件实现嵌套路由的占位渲染:

<Route path="/dashboard" element={<DashboardLayout />}>
  <Route path="profile" element={<Profile />} />
  <Route path="settings" element={<Settings />} />
</Route>

// DashboardLayout组件内:
import { Outlet } from 'react-router-dom';
function DashboardLayout() {
  return (
    <div>
      <h1>Dashboard</h1>
      <Outlet /> {/* 子路由内容在此渲染 */}
    </div>
  );
}

路由守卫与重定向

通过Navigate组件或useNavigate实现权限控制:

function PrivateRoute({ children }) {
  const isAuthenticated = checkAuth(); // 自定义权限检查
  return isAuthenticated ? children : <Navigate to="/login" />;
}

// 使用方式:
<Route path="/admin" element={<PrivateRoute><AdminPanel /></PrivateRoute>} />

路由懒加载

结合React.lazySuspense实现组件懒加载:

const About = React.lazy(() => import('./About'));
function App() {
  return (
    <Suspense fallback={<div>Loading...</div>}>
      <Route path="/about" element={<About />} />
    </Suspense>
  );
}

标签: 路由react
分享给朋友:

相关文章

电脑如何安装react

电脑如何安装react

安装 Node.js 和 npm React 项目依赖 Node.js 环境,需先安装 Node.js(自带 npm)。访问 Node.js 官网 下载 LTS 版本,运行安装程序并完成配置。安装后,…

动态路由的实现vue

动态路由的实现vue

动态路由的实现(Vue) 在Vue中实现动态路由通常涉及以下方法: 基于路由参数(params) 在路由配置中使用动态片段(以冒号开头),例如: const routes = [ { pa…

vue 路由 实现

vue 路由 实现

Vue 路由实现方法 Vue 路由通常通过 Vue Router 实现,它是 Vue.js 官方的路由管理器,用于构建单页应用(SPA)。以下是具体实现步骤: 安装 Vue Router 通过 n…

react 如何执行

react 如何执行

安装 Node.js 和 npm React 开发需要 Node.js 环境,因为它提供了 npm(或 yarn)包管理工具。从 Node.js 官网 下载并安装最新 LTS 版本。安装完成后,在终端…

如何降低react版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修改…

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…