React Router 使用教程
react-router项目地址:https://gitcode.com/gh_mirrors/rea/react-router
项目介绍
React Router 是一个轻量级且功能全面的路由库,适用于 React JavaScript 库。它可以在 React 运行的任何地方运行,包括 Web、服务器(使用 Node.js)和 React Native。React Router 提供了声明式路由,使得在 React 应用中管理导航变得简单直观。
项目快速启动
安装
首先,你需要安装 React Router。你可以通过 npm 或 yarn 进行安装:
npm install react-router-dom
或者
yarn add react-router-dom
基本使用
以下是一个简单的 React Router 示例:
import React from 'react';
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
export default App;
应用案例和最佳实践
动态路由
React Router 支持动态路由,可以根据 URL 参数动态加载组件。例如:
import React from 'react';
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
function User({ match }) {
return <h2>User: {match.params.userId}</h2>;
}
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/user/1">User 1</Link>
</li>
<li>
<Link to="/user/2">User 2</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/user/:userId">
<User />
</Route>
</Switch>
</div>
</Router>
);
}
export default App;
嵌套路由
React Router 也支持嵌套路由,可以在一个组件内部定义更多的路由:
import React from 'react';
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
function Dashboard() {
return <h2>Dashboard</h2>;
}
function Settings() {
return <h2>Settings</h2>;
}
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/dashboard">Dashboard</Link>
</li>
<li>
<Link to="/settings">Settings</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/dashboard">
<Dashboard />
</Route>
<Route path="/settings">
<Settings />
</Route>
</Switch>
</div>
</Router>
);
}
export default App;
典型生态项目
React Router 是 React 生态系统中的核心库之一,与许多其他库和工具集成良好。以下是一些典型的生态项目:
- Redux: 用于状态管理的库,可以与 React Router 结合使用,以实现更复杂的状态管理。
- React Native: 用于构建移动应用的框架,React Router 提供了
react-router-native
包,用于在 React Native 应用中进行路由管理。 - TypeScript: 如果使用 TypeScript 开发 React 应用,React Router 提供了完整的类型定义,使得开发更加安全和高效。
通过这些生态项目的结合使用,可以构建
react-router项目地址:https://gitcode.com/gh_mirrors/rea/react-router