使用 HMR 开发时如何避免重复的事件侦听器?

问题描述

如果我在使用 HMR 的开发环境中(例如,codeandBox),我该如何避免创建额外的 DOM 事件侦听器?

例如,这是一个 simple sandbox

document.body.addEventListener("click",() => {
  console.log("Hi!");
});

document.body.style.backgroundColor = "green";

backgroundColor 的任何更新都会导致额外注册的事件侦听器(除非我完全刷新页面)。

我知道 codeandBox一个 Hard Reload on Change 选项。但是这里有没有其他约定/策略可以让我保留 HMR,但避免重复事件?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)