第五章 React 路由
5.1 相关理解
5.1.1 SPA的理解
- 单页Web应用
- 整个应用只有一个完整的页面
- 点击页面中的链接不会刷新页面,只会做页面的局部更新
- 数据都需要通过ajax请求获取,并在前端异步展现
5.1.2 路由的理解
1. 什么是路由?
1. 一个路由就是一个映射关系
2. key为路径,value可能是function或component
2. 路由分类
1. 后端路由:
1> 理解:value是function,用来处理客户端提交的请求
2> 注册路由:router.get(path,function(req,res))
3> 工作过程:当node接收到一个请求时,根据请求路径找到匹配的路由,调用路由中的函数来处理请求,返回响应数据
2. 前端路由
1> 浏览器路由,value是component,用于展示页面内容
2> 注册路由:<Route path="/test" component={Test}>
3> 工作过程:当浏览器的path变为/test时,当前路由组件就会变为Test组件
5.1.3 react-router-dom的理解
- react的一个插件库
- 专门用来实现一个SPA应用
- 基于react的项目基本都会用到此库
5.2 react-router-dom相关API
5.2.1 内置组件
- <BroserRouter>
- <HashRouter>
- <Route>
- <Redirect>
- <Link>
- <NavLink>
- <Switch>
5.2.2 其他
- history对象
- match对象
- withRouter对象