当前位置:首页 > React

react 路由实现

2026-01-26 13:45:00React

React 路由实现方法

安装 React Router 使用 npm 或 yarn 安装 React Router 的最新版本:

npm install react-router-dom

基本路由配置 在项目的根组件(如 App.js)中引入 BrowserRouterRoute 组件:

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

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

动态路由与参数传递 通过 :param 语法定义动态路由,并通过 useParams 获取参数:

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

嵌套路由 通过嵌套 Route 组件实现层级路由结构:

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

重定向与404页面 使用 Navigate 组件实现重定向,通配符 * 处理未匹配路由:

import { Navigate } from 'react-router-dom';
<Route path="/old" element={<Navigate to="/new" />} />
<Route path="*" element={<NotFound />} />

路由守卫(权限控制) 通过高阶组件或自定义逻辑实现路由保护:

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

<Route path="/admin" element={<PrivateRoute element={<AdminPanel />} />} />

代码分割与懒加载 结合 React.lazySuspense 实现按需加载:

react 路由实现

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

注意事项

  • BrowserRouter 需要服务器支持,静态站点可使用 HashRouter
  • 路由顺序影响匹配优先级,应从具体到抽象排列。
  • 动态路由参数需考虑边界情况,如参数缺失或格式错误。

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

相关文章

vue实现户籍系统路由实现

vue实现户籍系统路由实现

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

vue实现路由

vue实现路由

Vue 路由的实现方法 Vue 中实现路由通常使用 Vue Router 库。以下是具体的实现步骤: 安装 Vue Router 在项目中通过 npm 或 yarn 安装 Vue Router:…

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyfra…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。 con…

react就业如何

react就业如何

React 就业市场现状 React 作为当前主流前端框架之一,就业需求持续旺盛。国内外互联网企业、中大型公司以及初创团队普遍采用 React 技术栈,尤其在 Web 应用、移动端(React Nat…

vue实现户籍系统路由实现

vue实现户籍系统路由实现

Vue 实现户籍系统路由方案 户籍系统通常涉及多层级页面和权限控制,以下是基于 Vue Router 的实现方案: 路由模块配置 在 src/router/index.js 中定义路由结构: co…