React Router 是一个基于 React 的路由库,它允许你为单页应用(SPA)添加路由功能。以下是一些关于 React Router 的基础教程。
基础概念
React Router 主要由三个核心组件组成:
<Router>
:包裹整个应用,管理路由状态。<Route>
:定义路由规则,渲染对应的组件。<Switch>
:包裹<Route>
,确保渲染一个<Route>
。
安装
首先,你需要安装 React Router:
npm install react-router-dom
示例
以下是一个简单的 React Router 示例:
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
function App() {
return (
<Router>
<Switch>
<Route path="/home" component={Home} />
<Route path="/about" component={About} />
<Route component={NoMatch} />
</Switch>
</Router>
);
}
function Home() {
return <h1>Home Page</h1>;
}
function About() {
return <h1>About Page</h1>;
}
function NoMatch() {
return <h1>404 Not Found</h1>;
}
export default App;
路由参数
React Router 允许你为路由添加参数。以下是一个示例:
<Route path="/user/:id" component={User} />
在这个例子中,:id
是一个参数,你可以通过 this.props.match.params.id
访问它。
动态路由
React Router 也支持动态路由。以下是一个示例:
<Route path="/users/:username" component={User} />
在这个例子中,/users/:username
是一个动态路由,它将匹配 /users/any-name
、/users/another-name
等路径。
高级用法
React Router 还提供了许多高级用法,例如:
<Redirect>
:重定向到另一个路由。<Link>
:创建一个导航链接,而不是<a>
标签。<NavLink>
:一个带有激活状态的高亮链接。
更多高级用法,请参考官方文档:React Router 官方文档
图片展示
React Router 的核心组件和概念: