html - 使用 HMR 开发时如何避免重复的事件监听器?
问题描述
如果我在使用 HMR 的开发环境中——例如,codesandbox——如何避免创建额外的 DOM 事件监听器?
例如,这是一个简单的沙箱:
document.body.addEventListener("click", () => {
console.log("Hi!");
});
document.body.style.backgroundColor = "green";
任何更新都会backgroundColor
导致额外的注册事件侦听器(除非我完全刷新页面)。
我知道codeandbox 有一个Hard Reload on Change
选项。但是这里有没有其他约定/策略可以让我保留 HMR,但避免重复事件?
解决方案
推荐阅读
- python - promt之前如何监控孩子的输出?
- airflow - 气流不运行任务
- c++ - memcpy 是否取决于源指针和目标指针的类型?
- android - Gradle 无法使用 OBJECT 库构建 CMake 项目,因为它需要一个输出文件
- typescript - 如何解决 Visual Studio 2019 中“只能使用 'esModuleInterop' 标志默认导入”?
- python - 有没有办法创建一个气泡弹出窗口,可用于将文本输入到不同的文本输入中?
- javascript - 使用 AJAX 调用的结果初始化 Vue 数据
- flutter - 在“extensionRPCs”中找不到“ext.flutter.driver” - 会是什么问题?
- ruby-on-rails - 为什么我需要在 Ruby on rails 应用程序中包装线程?
- javascript - html中的列表转到下一行留下空白