反应。添加/删除事件监听器

1 event-listener addeventlistener reactjs removeeventlistener use-effect

有 6 个帖子包含有关用户的信息。如果帖子中的姓名和电子邮件太大,则会被截掉。将鼠标悬停在裁剪的元素上时 - 其旁边会出现一个包含完整信息的块。如果注册成功 - 用户列表已更新 - 最新的列表在开头。我将事件 onMouseOver 和 onMouseOut 放在项目上。是否需要removeEventListener?试图返回 UseEffect 来执行此操作,但所选项目 = null [有当前元素][1]

Chr*_*sky 5

阅读有关事件的文章- https://en.reactjs.org/docs/handling-events.html

您可以使用添加事件useEffectreturn组件卸载时触发。代码示例:

useEffect(() => {
  function handleClick() {
    console.log("click")
  }

  window.addEventListener("click", handleClick);
  return () => window.removeEventListener("click", handleClick);
}, []);
Run Code Online (Sandbox Code Playgroud)