美文网首页
Taro 3.3.3版本切换路由过快 导致内容不匹配

Taro 3.3.3版本切换路由过快 导致内容不匹配

作者: Asuler | 来源:发表于2023-04-22 19:59 被阅读0次

问题:

taro 自建了一套路由机制,通过同级增加div,隐藏其他div的方式来push,back路由页面,

但是如果切换过快时,会出现页面内容和路由不匹配的情况

解决:

node_modules/@tarojs/router/router.esm.js里,路由的render有个节流,节流时间是500ms。
所以当页面切换速度在500ms内时,会造成路由和页面不匹配的情况

将该时间从500ms调节到50ms,即可解决


image.png

持续集成:

上面的解决方案都是修改node_modules的源码,但是持续集成肯定是重新安装依赖的,本地改动无法合入node_modules里

所以需要一个patch-package的包

  1. 输入 yarn add patch-package,安装patch-package这个包
  2. 进入node_modules里修改那个文件node_modules/@tarojs/router/router.esm.js
  3. 修改完后输入指令npx patch-package @tarojs/router,来告诉工具改动的是哪个包(包目录下必须有package.json文件)
  4. 然后就会自动生成一个patches文件夹,记录对应的diff,这个diff内容如图所示
    image.png
  5. 这个diff自动记录更改的路径,对应的行数,更改的内容,有点类似git diff
  6. 然后在package.json中的script中加入"postinstall": "patch-package",表示依赖安装完执行这个merge
  7. 删除node_modules 重新yarn,安装完成后发现node_modules里对应的文件已更改

相关文章

网友评论

      本文标题:Taro 3.3.3版本切换路由过快 导致内容不匹配

      本文链接:https://www.haomeiwen.com/subject/fgtejdtx.html