当前位置:首页 > React

react路由如何使用

2026-02-11 16:40:40React

React 路由的基本使用

安装 React Router 库:

npm install react-router-dom

在项目中引入路由相关组件:

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

配置基本路由

创建路由组件并定义路径:

function App() {
  return (
    <Router>
      <nav>
        <Link to="/">Home</Link>
        <Link to="/about">About</Link>
      </nav>

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

动态路由参数

使用冒号语法定义动态路径:

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

在组件中获取参数:

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

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

嵌套路由配置

通过嵌套 Route 组件实现:

<Routes>
  <Route path="/dashboard" element={<Dashboard />}>
    <Route path="stats" element={<Stats />} />
    <Route path="settings" element={<Settings />} />
  </Route>
</Routes>

在父组件中使用 Outlet 显示子路由:

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

function Dashboard() {
  return (
    <div>
      <h1>Dashboard</h1>
      <Outlet />
    </div>
  );
}

编程式导航

使用 useNavigate 钩子:

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

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

  const handleLogin = () => {
    navigate('/dashboard');
  };

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

路由守卫实现

通过自定义包装组件保护路由:

function PrivateRoute({ children }) {
  const isAuthenticated = checkAuth(); // 自定义认证逻辑
  const navigate = useNavigate();

  if (!isAuthenticated) {
    navigate('/login');
    return null;
  }

  return children;
}

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

404 页面处理

添加通配符路由:

<Route path="*" element={<NotFound />} />

路由懒加载

使用 React.lazy 和 Suspense:

const About = React.lazy(() => import('./About'));

function App() {
  return (
    <Suspense fallback={<div>Loading...</div>}>
      <Routes>
        <Route path="/about" element={<About />} />
      </Routes>
    </Suspense>
  );
}

react路由如何使用

分享给朋友:

相关文章

vue实现户籍系统路由实现

vue实现户籍系统路由实现

户籍系统路由实现(Vue.js) 户籍系统通常需要管理居民信息、户籍变动、统计查询等功能模块。以下基于Vue Router的实现方案: 路由模块设计 在src/router/index.js中定义核…

动态路由的实现vue

动态路由的实现vue

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

vue实现点击跳转路由

vue实现点击跳转路由

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

vue 路由 实现

vue 路由 实现

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

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

vue路由实现滑动

vue路由实现滑动

路由切换滑动动画实现 在Vue中实现路由切换时的滑动动画,可以通过Vue的过渡系统结合CSS动画或第三方库完成。以下是几种常见方法: 使用Vue过渡 + CSS动画 包裹<router-v…