我正在使用Chrome版本:Version 55.0.2883.75 beta (64-bit)带有+ 版本的material-ui(https://github.com/callemall/material-ui)版本0.16.5,当我使用鼠标滚轮向下滚动页面时,注意到以下警告消息:reactreact-dom15.4.1
由于主线程忙,"wheel"输入事件的处理延迟了xxx ms.考虑将事件处理程序标记为"被动"以使页面更具响应性.
最初,我认为另一个依赖react-waypoint导致问题,但经过一些调查,并感谢lencioni在https://github.com/brigade/react-waypoint/issues/143的跟进,我意识到这可能是由于react与最新版本的组合material-ui.
使用material-ui版本0.16.5,wheel可以从Chrome的开发工具元素选项卡中看到事件监听器,如下所示:
具有passive: false可以解释为什么在主线程忙时滚动时警告出现在控制台上的属性.
但是,通过阅读类似的帖子 考虑将事件处理程序标记为"被动"以使页面更具响应性,我有点困惑,因为它表明我们可能必须等待你的.js库来实现支持.在github提出问题之前提出这样的改进之前,令我困惑的是,我们应该等待哪些JS库/依赖?
在这种特殊情况下,是吗react(见讨论)?还是material-ui?或者这个问题完全错过了什么?上面的截图显示,wheel事件侦听器被添加ReactEventListener的react-dom,但在降级material-ui版本0.16.4,警告会消失,因为没有wheel事件侦听器.
所以我基本上是在浏览器react和第三方依赖的十字路口,并试图理解导致这个问题的变量,作为这些库的消费者,我们是否有办法解决这个问题?
任何建议或意见将非常感谢!谢谢.