BrowserRouter 和 HashRouter
2018-11-10 本文已影响0人
林ze宏
前言
单页应用:访问不同的路径,返回的都是同一个页面HTML页面,里面的内容其实都是通过js控制的。
不是单页应用:访问不同的路径,返回的HTML页面不一样,不是同一个HTML页面。
概念
- BrowserRouter:h5路由(history API)
- HashRouter:哈希路由
早期实现页面哈希,使用的是锚点技术;
锚点技术控制:
参考:https://stackoverflow.com/questions/484719/should-i-make-html-anchors-with-name-or-id
dva切换HashRouter路由为BrowserRouter路由
官网给的方案有误。
参考:https://github.com/dvajs/dva/issues/1268
- 使用前先手动安装下 history 这个包:
$ npm install history --save
- 修改 src/index.js 文件
import { createBrowserHistory as createHistory } from 'history';
const app = dva({
history: createHistory()
});
参考:
可以参考之前总结的react-router 4
https://www.jianshu.com/writer#/notebooks/21173890/notes/22628868/preview