taro icon indicating copy to clipboard operation
taro copied to clipboard

taro3.4.13, ios机型下h5页面路由快速左滑,返回动画出现卡顿,手势慢慢向左滑动正常响应,快速左滑则出现卡顿或者二次刷新现象

Open zhangLeLer opened this issue 3 years ago • 8 comments

[

相关平台

H5

浏览器版本: Chrome 62 使用框架: React

复现步骤

调用Taro.navigateTo跳转

https://user-images.githubusercontent.com/59431211/177778889-0d7566d2-1dc7-4730-a1c3-24aeefa56fda.mp4

期望结果

快速左滑,路由动画不卡顿

实际结果

快速左滑,路由动画卡顿

环境信息

Taro v3.4.11


  Taro CLI 3.4.11 environment info:
    System:
      OS: macOS 12.4
      Shell: 5.8.1 - /bin/zsh
    Binaries:
      Node: 16.15.0 - /usr/local/bin/node
      npm: 7.0.2 - /usr/local/bin/npm
    npmPackages:
      @tarojs/components: 3.4.1 => 3.4.1 
      @tarojs/mini-runner: 3.4.1 => 3.4.1 
      @tarojs/plugin-framework-react: 3.4.1 => 3.4.1 
      @tarojs/plugin-html: 3.4.9 => 3.4.9 
      @tarojs/react: 3.4.1 => 3.4.1 
      @tarojs/runtime: 3.4.1 => 3.4.1 
      @tarojs/taro: ^3.4.13 => 3.4.13 
      @tarojs/webpack-runner: ^3.4.9 => 3.4.9 
      babel-preset-taro: 3.4.1 => 3.4.1 
      eslint-config-taro: 3.4.1 => 3.4.1 
      react: 17.0.0 => 17.0.0 

zhangLeLer avatar Jul 07 '22 12:07 zhangLeLer

大佬有怎么解决吗, 我也遇到了一样的问题

lesterlong007 avatar Aug 12 '22 10:08 lesterlong007

我也遇见了、

jiqishoubi avatar Aug 17 '22 07:08 jiqishoubi

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

lesterlong007 avatar Aug 17 '22 08:08 lesterlong007

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

jiqishoubi avatar Aug 17 '22 09:08 jiqishoubi

路由动画应新增相关判断,在 iOS 中页面触发 touchmove 时中断页面动画触发,并在路由完成后复位。

ZakaryCode avatar Dec 23 '22 08:12 ZakaryCode

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

export default {
  animation: false,
}

怎么关闭的,app.config.js 这样关闭不起作用😅

nbhhcty avatar Dec 19 '23 07:12 nbhhcty

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

export default {
  animation: false,
}

怎么关闭的,app.config.js 这样关闭不起作用😅

我也是诶,大佬解决了吗,怎么解决的

AprilTong avatar Jan 12 '24 10:01 AprilTong

已经解决,taro打包成web,路由动画的问题,像翻书一样的动画,300ms完成。ios 手势滑动自带动画,因此是页面已经切换完毕,才触发popState/hashchange,才触发它的动画。解决办法要么直接干掉动画,要么监听touch事件,手势滑动start给路由元素动态添加一个类名,干掉动画,end或者cancel则移除次类名

嗯呐 我也是直接关掉animation了

已解决app.config.ts配置如下: image

JackYangFM avatar Jan 31 '24 03:01 JackYangFM