![](/img/trans.png)
[英]Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive'
[英]react passive event handler for a scroll
我的反应中有一个滚动事件处理程序,我试图让它被动。 但它不起作用,我在控制台中不断收到此警告:
考虑将事件处理程序标记为“被动”以使页面更具响应性。
所以这是我阅读事件的地方:
bindEventListeners()
{
EventContainer.readWindowEvent('scroll', this.onScroll);
}
这是我的 EventContainer.js 文件中的readWindowEvent
函数:
static readWindowEvent(slug, callback, passive = true)
{
let result = null;
let allowed = this.getAllowedWindowEventListeners().indexOf(slug) != -1;
if (!allowed) {
result = console.error(
'You cannot register ' + slug + ' on the window. Allowed events: ' +
this.getAllowedWindowEventListeners().join(', ')
)
}
if (allowed) {
result = window.addEventListener(
slug,
callback,
{passive: passive}
);
}
return result;
}
在这一行:
{被动:被动}
我在编辑器中收到以下错误:
参数类型 {passive: boolean} 不可分配给参数类型 boolean
有谁知道我在这里做错了什么?
任何帮助表示赞赏!
现在回答可能有点晚了,但我遇到了同样的问题。 一种解决方法是在传入的对象上使用any
类型:
let passiveObject: any = { passive: true }
obj.addEventListener(evt, func, passiveObject)
希望这对未来的人有所帮助!
没有任何理由让滚动监听器被动! 请仔细阅读文档 - 滚动 div 中的任何触摸轮和点击侦听器都必须是被动的 - 这是被动侦听器的主要目标
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.