关灯
开启左侧

React路由:BrowserRouter和HashRouter

[复制链接]
紫米 发表于 2019-1-11 16:04:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

HashRouter与BrowserRouter ,二者有所不同。

明白二者的区别,前提是你要懂什么叫 hash 地址,hash 地址就是指 # 号后面的 url。

假如有一个 Link 标签,点击后跳转到 /abc/def。

BrowserRouter: http://localhost:8080/abc/def
HashRouter: http://localhost:8080/#/abc/def

如果有服务器端的动态支持,建议使用 BrowserRouter,否则建议使用 HashRouter。

原因在于,如果是单纯的静态文件,假如路径从 / 切换到 /a 后,此时刷新页面,页面将无法正常访问。

二者的替换方法很简单,我们在引入 react-router-dom 时,如以下:

  1. import {

  2.    BrowserRouter as Router,

  3.    Route,

  4.    Link

  5. } from 'react-router-dom'
复制代码


将 BrowserRouter 修改为 HashRouter 就可以了,基本不需要修改其他东西。

因为写服务器文件还比较麻烦,因此在之后的 DEMO 中,我们将主要使用 HashRouter 而不是 BrowserRouter


 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
关闭

站长推荐上一条 /1 下一条

官方微信

全国服务热线:

400-0708-360

公司地址:国家西部信息安全产业基地(成都市高新区云华路333号)

邮编:610000    Email:2908503813@qq.com

Copyright   ©2015-2016  EOIT论坛Powered by©Discuz!    ( 蜀ICP备11000634号-7 )