React 中关于Unable to preventDefault inside passive event listener invocation报错处理

1,877 阅读1分钟

在 React 项目中,左右滑动走马灯 Carousel 的时候,报了如下错误:

Unable to preventDefault inside passive event listener invocation.

网上查了好多方法,一共有以下几种解决方式,记录一下:

方式一

main.js 文件中注释掉 import 'default-passive-events'

方式二

修改 node_modules/zrender/lib/core/event.js 文件中的代码为:

el.addEventListener(name, handler, { passive: false})

image.png

方式三

全局设置 dom 的 CSS 为:

* {
  touch-action: none;
}

方式四

声明事件监听的时候设置为主动事件监听:

window.addEventListener('touchmove', handler, { passive: false})

方式五

注释掉 node_modules/react-dom/cjs/react-dom.development.js 文件中的代码:

image.png

方法六

卸载 default-passive-events

npm uninstall default-passive-events

以上方法中,只有方法六对我的项目起作用。