我有一个事件处理程序的滚动在我的反应,我试图使它被动。但它不工作,我一直在我的控制台中收到此警告:反应被动事件处理程序不工作
考虑将事件处理程序标记为“被动”,以使页面更具响应性。
所以这里是我读的事件:
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:passive}
我在编辑 参数类型收到以下错误:我在做什么错在这里{被动布尔}是不能分配给参数类型布尔
有谁知道?
任何帮助表示赞赏!
提前感谢:)
将函数参数更改为'(slug,callback,passive)'并将第三个参数更改为' addEventListener()'到'{passive:passive === true}' – Archer
@Archer不幸的是,这在编辑器中给出了同样的错误。我编译了我的反应,并在我的控制台中做了一个getEventListeners,它仍然表示被动:false:'( –
对不起,没有帮助,我没有看到代码的任何错误,如果你只是用一个简单的1在浏览器控制台中它可以正常工作,它可能是React特定的,在这种情况下,我无法帮助,希望有人可以这样做! – Archer