[英]Can I manipulate event listener using hooks in react app?
is it possible to enable/disable event listener based on useState hook ?是否可以基于 useState hook 启用/禁用事件侦听器?
I created a Hook:我创建了一个钩子:
const [ifClicked, setIfClicked] = useState(true);
and a functions :和一个功能:
const handleIfClicked = () => {setIfClicked(!ifClicked)};
const extendTreatments = () =>{
dropdownFB ? setDropdownFB(false) : setDropdownFB(true);
handleIfClicked();
}
I've got li element with event listeners and function above:我有带有事件侦听器和函数的 li 元素:
<li className="nav-item"
onMouseEnter={onMouseEnterFB}
onMouseLeave={onMouseLeaveFB}
onClick={extendTreatments}
I've tried to enable/disable event listeners by manipulating hook "ifClicked".我试图通过操纵钩子“ifClicked”来启用/禁用事件侦听器。 The main goal is to once element got clicked don't use event listener "onMouseLeave" (turn it off).
主要目标是一旦元素被点击就不要使用事件侦听器“onMouseLeave”(将其关闭)。
<li className="nav-item"
onMouseEnter={onMouseEnterFB}
ifClicked && onMouseLeave={onMouseLeaveFB}
onClick={extendTreatments}
>
Instead of adding/removing event listener, consider not running your function at all, if "ifClicked" is false.如果“ifClicked”为假,请考虑根本不运行您的函数,而不是添加/删除事件侦听器。
<li className="nav-item"
onMouseEnter={onMouseEnterFB}
onMouseLeave={ifClicked && onMouseLeaveFB}
onClick={extendTreatments}
>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.