# 一.创建项目
打开cmd选择到需要创建的盘,我这里选择是的e盘
输入创建项目的指令
create-react-app 项目名
接下来安装项目所需要用到的插件
这里我安装的axios,qs,mokejs,并且项目文件夹需要安装:npm i react-router-dom@5.0 -S(指定5.0版本)安装指令如下
npm i axios qs react-router-dom@5.0
npm i mockjs -D
这个项目需要用到Ant Design
安装指令
npm i antd -S
打开项目,指令
npm start
跳转到浏览器就是下面这样子
# 二.导入路由的相关组件
在app.js中添加路由,导入
import {
HashRouter as Router, //HashRouter哈希路由 as起别名 router路由
Route, //Route 存放路由的容器
NavLink, //navlink 导航链接
Redirect, // Redirect 重定向
Switch, // Switch一次匹配一个页面
} from "react-router-dom";
分支路由页面:
function About(){
return (<div>
<h1>关于页面内容</h1>
</div>);
}
export default About;
# 三.配置路由
在需要的页面配置:
import {
HashRouter as Router,
Route,
NavLink
} from "react-router-dom";
import Home from "./Home";
import About "./About";
function App() {
return (
<Router>
<div className="nav">
<NavLink to="/" exact>首页</NavLink>|
<NavLink to="/about">关于</NavLink>
</div>
<div className="views">
<Route path="/" component={Home} exact></Route>
<Route path="/about" component={About}></Route>
</div>
</Router>
);
}
export default App;
# 四.路由传参
//导入路由相关的组件
//HashRouter哈希路由 as起别名 router路由
//router 存放路由的容器
//Navlink 导航链接
import{HashRouter as Router,Route,NavLink,Redirect,Switch} from 'react-router-dom'
function App(){
return (
<Router>
{/*导航部分*/}
<div className='nav'>
<NavLink to="/" exact>首页</NavLink> |
<NavLink to="/about">关于页面</NavLink> |
<NavLink to="/details/abc">abc详情</NavLink> |
<NavLink to="/details/123">123详情</NavLink> |
</div>
<div className='views'>
<Route path='/' component={Home} exact></Route>
<Route path='/about' component={About}></Route>
<Route path='/details/:id' component={Details}></Route>
</div>
</Router>);
}
export default App;
//创建详情页
function Details({match,location}){
return (<div>
<h1>详情内容</h1>
<p>参数:{match.params.id}</p>
<p>match:{JSON.stringify(match)}</p>
<p>location:{JSON.stringify(location)}</p>
</div>);
# 五.子路由
父路由是普通路由,在父组件中配置子路由
在子路由中配置重定向Redirect,可控制子路由默认显示页面
# 六.404页面
匹配任意地址,将404页面放在最后,并在外层加上 组件控制只匹配一个页面。当无其他匹配页面时就显示404页面
# 七.路由守卫
创建一个登录页面、添加Priviate权限页面