reactjs - 在反应中,如何订阅文档 mousemove?
问题描述
这是我在香草 JavaScript 中的代码
document.addEventListener('mousemove', function (e) {
console.log(e.pageX) //just a placeholder code
})
我的问题是:如何在反应中复制这段代码(我使用反应钩子)?我想订阅广泛的事件文档,并在特定组件中可用
解决方案
您应该使用 useEffect 进行订阅。在返回函数中,您应该添加清理函数以释放资源。
useEffect(() => {
const mouseListener = (e) => {
console.log(e.pageX) //just a placeholder code
})
document.addEventListener('mousemove', mouseListener);
// Specify how to clean up after this effect:
return function cleanup() {
document.removeEventListener('mousemove', mouseListener);
};
});
推荐阅读
- api - 在颤动中打印 REST API 响应
- asp.net-mvc - 使用 linq 查询更新 mvc5 中的所有列记录
- python - 如何使用 spacy_langdetect 包中的 LanguageDetector()?
- amazon-web-services - 如何使用单个 docker 映像安排多个 AWS Batch 作业(需要以不同的时间间隔触发)
- javascript - 使用 react.lazy 时出现 NamedChunksPlugin webpack 问题
- go - 插件是用不同版本的包加密/内部/无聊构建的
- python - Maya Python Playblast 进度条
- python - 尝试使用 paho-mqtt 订阅主题时出现错误 128 (0x80)
- javascript - ERROR 错误:未捕获(承诺中):TypeError:无法读取 null 的属性“isAdmin”
- keras - 如何在 sklearn 管道中使用 keras 回调?