问题描述

react中使用router.push("/createForm")进行路由跳转,表单创建完成后,使用router.goBack()返回页面。
创建页面可以正常返回列表页面,但是编辑页面需要调用两次router.goBack()才可以返回列表页面。
编辑页面和新增页面的跳转路由地址相同,跳转方法相同

技术栈:react+umi+dva+antd

问题解决过程

step 1

多次操作两个页面观察不同之处,
发现编辑页面的路由地址为http://localhost:8000/exposure-draft-create#
新增页面的路由地址为http://localhost:8000/exposure-draft-create
编辑页面地址后多了一个#,第一次调用router.goBack()#号去除,第二次调用router.goBack()正常返回了列表页面

step 2

探寻#号的来源

  1. 搜索引擎搜索“router #”,无结果
  2. 代码中寻找跳转编辑页面和新增页面的不同之处
  3. 两个页面跳转路由地址相同(控制台打印路由均无#号),跳转方法使用了相同的函数
  4. 寻找调用跳转函数的HTML
    跳转编辑页面
 <div className={styles.details}><span><aonClick={() => this.toEditPage(id, conferenceType)}href="#"style={{ padding: 0 }}>编辑</a></span></div>

跳转创建页面

<div className={styles.createMeeting}><Button type="button" onClick={() => this.toCreatPage()}>{formTestObject.buttonText}</Button>
</div>

问题出现原因

使用a标签添加属性href="#"跳转路由地址会加上#

问题解决方案

去除’href="#"‘属性

路由跳转后需要两次调用goback才能正常返回相关推荐

  1. VUE路由跳转后自动刷新一次页面

    VUE路由跳转后自动刷新一次页面 我们在前端开发时有时会遇到一些问题,暂时找不到解决办法只有靠刷新才能救一下.可是又不能每次都手动刷新.在网上找了很久的自动刷新办法,发现大部分都是路由跳转类的刷新,和 ...

  2. 解决vue单页路由跳转后scrollTop的问题

    作为vue的初级使用者,在开发过程中遇到的坑太多了.在看页面的时候发现了页面滚动的问题,当一个页面滚动了,点击页面上的路由调到下一个页面时,跳转后的页面也是滚动的,滚动条并不是在页面的顶部 在我们写路 ...

  3. Vue导航点击路由跳转后样式不变

    Vue导航点击路由跳转后样式不变 <template><ul><li :class="{active:isActive==1}" @click=&qu ...

  4. vue二级路由跳转后外部引入js失效问题解决方案

    vue二级路由跳转后外部引入js失效问题解决方案 参考文章: (1)vue二级路由跳转后外部引入js失效问题解决方案 (2)https://www.cnblogs.com/LittleT/p/9077 ...

  5. vue路由跳转后,刷新指定页面。

    做项目遇到一个坑:A页面带参跳转到B页面,第二次跳转时的参数与第一次时的参数不同,但是后台查询时还是使用的第一次的参数.需要手动刷新之后,才会使用第二次参数. 鉴于时间原因直接使用刷新页面监听路由的方 ...

  6. vue路由切换组件没有加载_vue-router 路由跳转后没有加载组件

    router.js 路由部分 export const normalRouter = { path: '/', meta: { login: false }, component: () => ...

  7. vue router 跳转php,vue路由:路由跳转后怎么知道切换到那个router-view中

    应用场景 首浏围开幸,业来很广例量站标闪择以近览着发次尝试用vue 2.x重构传统页面.使用vue init webpack xxx 创建项目友持都发很秀框事,应编差里互是过是来本商理类了如则处果.展 ...

  8. framework7 1.3.5 路由跳转后DOM失效问题

    再这个版本的7会存在一个问题,那就是loadpage到指定页面后才做其中的DOM比如DIV里面的text或者HTML,虽然控制台会显示改变后的值但是页面上却还是原值,这时候需要改变方法使用reload ...

  9. 路由跳转时的页面状态保存

    前言 我们在开发网页时,经常会遇到一种情况--在一个页面对页面初始状态进行了修改(如已请求到的数据.表单数据.滚动高度等等),跳转到另外一个页面之后再返回到原页面(路由回退),原页面需要保持原先的状态 ...

最新文章

  1. Android ndk 安装教程 以及环境变量配置
  2. win 10无法启动print spooler服务,提示1068依赖服务或组无法启动
  3. 一次性通过软考网工方案
  4. 判断浏览器是否为手机端 is mobile
  5. python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
  6. Visual C++ 基础数据类型的转换
  7. 自己常用的wireshark过滤条件
  8. 位置编码在注意机制中的作用
  9. 一文搞懂软件测试,完整总结软件测试基础知识
  10. pdf嵌入字体(不用adobe pdf打印机)
  11. 求5的阶乘和1-5的阶乘和
  12. 哈夫曼编码问题(贪心算法)
  13. 已安装pywinrm,仍报错winrm or requests is not installed: No module named winrm
  14. vue项目中样式重置 自动注入less
  15. 腾讯qlv格式转换mp4为何转换后只有音频
  16. 自媒体全是带节奏的标题党,不是创作者不行,而是用户们想看
  17. 宠物拍照app开发,把握萌宠流量
  18. 决战世界杯——Python预测球赛胜负
  19. 10270 : 青蛙的游戏
  20. Au CC如何将文件导入文件面板?

热门文章

  1. 允许使用计算机的软件,解决win10“你的电脑设置仅允许安装来自应用商店的应用”的方法...
  2. 1400——489C,520B,279B,479C
  3. ubuntu系统无wifi适配器 找不到wifi问题解决
  4. 实用技巧(二)——文本工具、自由变换
  5. Victor ti99不错
  6. Field eFaultPriorityService in com.ect.emes.admin.restapi.AlarmRestApi required a bean of type 解决方法
  7. 水准测量的各种数字考点
  8. 拿到外卖后秒退单,一连12天吃霸王餐的女子栽了!
  9. 在线剪切板,一款高效方便记录剪切板内容的在线工具
  10. Mac设置顶部菜单栏技巧?