React路由
前端路由原理
- BOM上有一个history属性 专门用于管理浏览器额路径、历史记录等 我们可以直接操作 但是写起来麻烦 所以我们借用一个库来操作
- 路由器router用于管理路由route
- 浏览器的历史记录是一个栈的结构 你看到的页面就是栈顶的页面 你点击一个链接 就是往栈中push一个URL push的话可以后退 就是弹出当前页面 你点击一个链接 也可能是replace栈顶的URL 此时后退返回的是上上一个页面 因为上一个页面已经被取代了
- history.push可以往栈中推入一个URL
- history.listen可以监听路径的变化
- history.back后退
- history.forward前进
- 前端路由靠的就是BOM身上的history
- 锚点跳转不会刷新页面但是会留下历史记录
- history有两种工作模式:
(1)let history = History = History.createBrowserHistory()// 方法一 直接使用H5推出的history身上的API
(2)let history = History.createHashHistory()// 方法二 hash值(锚点)
react-router-dom的理解
- 安装:
npm i react-router-dom --save