当前位置:首页 > React

react-router如何使用

2026-03-10 19:58:49React

安装 react-router-dom

确保项目已安装 React,通过 npm 或 yarn 安装 react-router-dom 包:

npm install react-router-dom
# 或
yarn add react-router-dom

基本路由配置

在入口文件(如 App.js)中引入 BrowserRouterRoutes,并定义路由规则:

import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';

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

导航链接

使用 Link 组件实现页面跳转,避免浏览器默认刷新行为:

react-router如何使用

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

function Navbar() {
  return (
    <nav>
      <Link to="/">Home</Link>
      <Link to="/about">About</Link>
    </nav>
  );
}

动态路由与参数传递

通过 :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>;
}

嵌套路由

通过 <Outlet /> 实现嵌套路由的渲染:

react-router如何使用

// 父路由配置
<Route path="/dashboard" element={<Dashboard />}>
  <Route path="settings" element={<Settings />} />
</Route>

// Dashboard 组件
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();
  return <button onClick={() => navigate('/dashboard')}>Login</button>;
}

404 页面处理

通过 path="*" 捕获未匹配的路由:

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

路由守卫

通过自定义组件实现权限控制:

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

// 使用示例
<Route path="/admin" element={<PrivateRoute><AdminPage /></PrivateRoute>} />

分享给朋友:

相关文章

react如何引入

react如何引入

引入React的方法 React可以通过多种方式引入项目,具体取决于项目需求和开发环境。以下是常见的几种方法: 通过CDN引入 在HTML文件中直接通过CDN链接引入React和ReactDOM:…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…

如何搭建react项目

如何搭建react项目

使用 Create React App 搭建项目 Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具(如 Webpack 或 Babel)。…

react 如何显示html

react 如何显示html

渲染原始 HTML 在 React 中直接插入原始 HTML 需要使用 dangerouslySetInnerHTML 属性。这个属性允许将 HTML 字符串直接渲染到 DOM 中,但需要注意潜在的安…

react如何传参数

react如何传参数

在 React 中传递参数的方法 React 提供了多种传递参数的方式,具体取决于组件的类型和场景。以下是常见的参数传递方法: 父子组件传递参数(Props) 父组件通过属性(props)向子组件传…