49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: React Router
 | ||
| localeTitle: React Router
 | ||
| ---
 | ||
| # R适用于初学者的 React Router
 | ||
| 
 | ||
| # 安装
 | ||
| 
 | ||
| React Router已分为三个包: `react-router` , `react-router-dom`和`react-router-native` 。
 | ||
| 
 | ||
| 您几乎不必直接安装react-router。该软件包为React Router应用程序提供核心路由组件和功能。另外两个提供特定于环境的(浏览器和反应原生)组件,但它们也都重新导出所有react-router的导出。
 | ||
| 
 | ||
| 我们正在构建一个网站(将在浏览器中运行),因此我们将安装react-router-dom。
 | ||
| 
 | ||
| `npm install --save react-router-dom`
 | ||
| 
 | ||
| # 路由器
 | ||
| 
 | ||
| 启动新项目时,需要确定要使用的路由器类型。对于基于浏览器的项目,有和组件。当你有一个处理动态请求的服务器(知道如何响应任何可能的URI)时,应该使用`<BrowserRouter>` ,而应该用于静态网站(服务器只能响应它知道的文件请求)。
 | ||
| 
 | ||
| 通常最好使用`<BrowserRouter>` ,但如果您的网站将托管在仅提供静态文件的服务器上,那么`<HashRouter>`是一个很好的解决方案。
 | ||
| 
 | ||
| 对于我们的项目,我们假设网站将由动态服务器支持,因此我们选择的路由器组件是`<BrowserRouter>` 。
 | ||
| 
 | ||
| # 进口声明
 | ||
| 
 | ||
| ```javascript
 | ||
| import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
 | ||
| ```
 | ||
| 
 | ||
| ## IndexRoute和链接
 | ||
| 
 | ||
| 现在,让我们添加导航以在页面之间获取。
 | ||
| 
 | ||
| 为此,我们将使用`<Link>`组件。 `<Link>`类似于使用html锚标记。
 | ||
| 
 | ||
| 来自文档:
 | ||
| 
 | ||
| 允许用户浏览应用程序的主要方法。 将使用正确的href呈现完全可访问的锚标记。 为此,我们首先创建一个Nav组件。我们的Nav组件将包含`<Link>`组件,如下所示:
 | ||
| 
 | ||
| ```javascript
 | ||
| const Nav = () => (
 | ||
|   <div>
 | ||
|     <Link to='/'>Home</Link> 
 | ||
|     <Link to='/address'>Address</Link>
 | ||
|   </div>
 | ||
|  )
 | ||
| 
 | ||
| ``` |