当前位置:首页 > React

react路由如何配置

2026-02-26 02:04:11React

路由基础配置

在React中配置路由通常使用react-router-dom库(v6版本)。需先安装依赖:

npm install react-router-dom

在项目入口文件(如index.jsApp.js)中引入路由组件:

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

基本路由结构示例:

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<HomePage />} />
        <Route path="/about" element={<AboutPage />} />
      </Routes>
    </Router>
  );
}

动态路由与参数传递

动态路由通过:定义参数,组件内通过useParams获取:

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

UserProfile组件中:

react路由如何配置

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

嵌套路由配置

嵌套路由通过<Route>的嵌套实现,父路由需配合<Outlet>渲染子内容:

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

Dashboard组件中需放置<Outlet />

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

编程式导航

通过useNavigate钩子实现页面跳转:

react路由如何配置

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

路由守卫与重定向

使用<Navigate>组件或navigate函数实现权限控制:

<Route 
  path="/admin" 
  element={isAdmin ? <AdminPanel /> : <Navigate to="/login" />} 
/>

或在组件内逻辑中处理:

const navigate = useNavigate();
useEffect(() => {
  if (!isLoggedIn) navigate('/login');
}, [isLoggedIn]);

懒加载路由

结合React.lazySuspense优化性能:

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

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

相关文章

vue路由可以实现什么

vue路由可以实现什么

Vue 路由的核心功能 Vue Router 是 Vue.js 的官方路由库,用于构建单页应用(SPA)。它通过动态映射 URL 到组件,实现页面无刷新跳转和状态管理。 基础路由配置 通过定义路…

vue路由实现

vue路由实现

Vue 路由实现方法 安装 Vue Router 在项目中安装 Vue Router 依赖包: npm install vue-router 配置路由 在 src 目录下创建 router/inde…

react如何开发组件

react如何开发组件

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

如何手写一个react

如何手写一个react

手写一个简单的 React 创建一个基础的 React 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实 D…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…