BrowserRouter 和 HashRouter

前言

单页应用:访问不同的路径,返回的都是同一个页面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

你可能感兴趣的:(BrowserRouter 和 HashRouter)