博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HashRouter与BrowserRouter的异同
阅读量:6701 次
发布时间:2019-06-25

本文共 538 字,大约阅读时间需要 1 分钟。

项目中控制路由跳转使用的是BrowserRouter

在开发过程中使用是没有问题的,但是将页面上传至服务器之后,问题就来了:用户访问的资源不存在,页面是空白的。

原因:

在browserHistory 模式下,URL 是指向真实 URL 的资源路径,当通过真实 URL 访问网站的时候,由于路径是指向服务器的真实路径,但该路径下并没有相关资源,所以用户访问的资源不存在。

 

经过排查怀疑是路径的问题,将BrowserRouter 改为 HashRouter之后,问题解决了~

问题分析

首先分析下出现此问题的原因: 在React项目中我们经常需要采用React-Router来配置我们的页面路由,React-Router 是建立在 history 之上的,常见的history路由方案有三种形式,分别是:

  • hashHistory
  • browserHistory
  • createMemoryHistory

本地开发时,使用browserHistory是没有问题的,这是因为webpack.config.js中使用 webpack-dev-server 已经做了配置

转载于:https://www.cnblogs.com/wang715100018066/p/9838806.html

你可能感兴趣的文章
CODING 受邀参加《腾讯全球数字生态大会》
查看>>
python3基础3--数据类型--数据运算--表达式if -else-while-for
查看>>
如何学习前端 转载
查看>>
性能测试的重要意义(一)
查看>>
简单的文件上传功能实现(java)
查看>>
MySQL的简单使用
查看>>
浮动问题
查看>>
hausaufgabe--python 18- Defined specific Functions
查看>>
Django的视图层
查看>>
如何open一个新tab页面
查看>>
iOS开发UI篇—简单介绍静态单元格的使用
查看>>
转:Yupoo(又拍网)的系统架构
查看>>
.读取excel表格(JAVA)
查看>>
清空sql server日志
查看>>
c# 读取记事本txt文档到DataTable中
查看>>
快速通读《现代软件工程——构建之法》
查看>>
Xcode7,ios9 issue ,warning合集
查看>>
Spring整合Quartz定时任务 在集群、分布式系统中的应用(Mysql数据库环境)
查看>>
【英语-刘晓艳-词汇】词汇06
查看>>
Apache版本兼容性问题
查看>>