React Router 把 URL 与组件映射起来:访问 /about 就渲染 About 组件,整个过程不刷新页面。它基于 history API(旧版本也支持 hash 模式)监听地址变化,在路由树里匹配到对应的 Route 后渲染其 element,并用 Link 组件代替 a 标签来避免页面整刷。
实战中最常用的三板斧是 Routes/Route 声明路由表、Link/NavLink 做导航、useParams 读动态参数。进阶还有嵌套路由(Outlet 承载子路由)、路由守卫与懒加载路由。React Router v6 之后API 大改:Switch 换成 Routes、component 换成 element,写法更接近配置式,性能也更好。
import { BrowserRouter, Routes, Route, Link, useParams } from 'react-router-dom'; function User() { const { id } = useParams(); // 读取动态参数 :id return <h3>用户页:{id}</h3>; } export default function App() { return ( <BrowserRouter> <nav> <Link to="/">首页</Link> <Link to="/user/42">用户 42</Link> </nav> <Routes> <Route path="/" element={<h3>首页</h3>} /> <Route path="/user/:id" element={<User />} /> </Routes> </BrowserRouter> ); }