React Router 作用和用法
React Router 作用和用法
React Router 是一个用于 React 应用的客户端路由库。它允许在单页应用(SPA)中实现页面导航和 URL 管理,与 React 的组件化开发无缝集成。
作用:
- 声明式路由:通过组件配置路由规则,简化页面切换逻辑。
- URL 同步:保持 UI 与浏览器 URL 的同步,支持前进/后退。
- 嵌套路由:支持多级页面结构,适合复杂应用。
基本用法:
React Router 提供了 <Router>、<Route>、<Link> 等核心组件,配合 hashHistory 或 browserHistory 管理路由。
- 对比
hashHistory:哈希变化不触发服务器请求,性能开销小,但 URL 带 # 影响美观。browserHistory:支持更好的 SEO(搜索引擎优化),URL 更自然,但初次加载可能因服务器配置不当导致问题。
- 安装:
npm install react-router - 核心组件:
<Router>:路由容器,定义历史管理(如hashHistory)。<Route>:匹配 URL 路径并渲染组件。<IndexRoute>:是一个特殊的路由组件,仅用于定义父路由路径下的默认子路由。<Link>:导航链接,替代<a>标签。
示例:
构建一个简单应用,包含首页和关于页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import React from 'react';
import { Router, Route, Link, hashHistory } from 'react-router';
const Home = () => <h2>欢迎访问首页</h2>;
const About = () => <h2>关于我们</h2>;
const App = () => (
<Router history={hashHistory}>
<div>
<nav>
<Link to="/">首页</Link>
<Link to="/about">关于</Link>
</nav>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</div>
</Router>
);
export default App;
<Link to="/">渲染为<a href="#/">,点击切换路由。exact确保/路径精确匹配,避免被/about覆盖。
This post is licensed under CC BY 4.0 by the author.