首页 > 解决方案 > 在第一次 history.push('xxx') 之后,props.history.goBack() 在 iOS 微信浏览器中不起作用

问题描述

这种行为我测试了很多次,第一次发现这个bug只在iOS微信中history.push()

例如:在主页中,我单击一个链接(使用history.push)并跳转到页面 A,但后退按钮(使用props.history.goBack())不起作用。当我单击history.pushA 页面中的链接(使用 )时,我跳转到 B 页面,B 页面中的后退按钮可以返回 A 页面,现在 A 页面中的后退按钮工作正常(意味着我可以返回主页)。

Android微信中没有这种奇怪的行为。

在 iOS 微信中,你必须跳 2 次才能有正常行为。如果没有第二次跳跃操作,您将无法通过第一次跳跃返回。

HashBrowser 和 BrowserRouter 都有这个错误/错误行为。

下面是我的关系包

"react": "^16.11.0",
"react-dom": "^16.11.0",
"react-router-dom": "^5.2.0",

标签: reactjsreact-router-dom

解决方案


替换history.goBack()history.go(-1)应该为您提供相同的功能,并且在 Android 和 Safari 中都可以使用。


推荐阅读