【发布时间】:2020-12-23 15:34:39
【问题描述】:
我在 ReactJS 中使用函数式组件。
const [showState, setState] = useState();
useEffect(() => {
document.addEventListener('click', handleClick);
return () => {
document.removeEventListener('click', handleClick);
}
}, []);
function handleClick(event) {
console.log(showState);
};
function toggleState() {
setState(true);
}
return ( <
button onClick = {
toggleState
} > Toggle < /button>
)
当我通过按下按钮切换状态时,然后当我通过单击某处触发单击事件(handleClick 函数)时,控制台显示“未定义”。但是handleClick函数不是作为引用传递给click eventListener吗,当通过toggle切换状态时,它应该在控制台中显示“true”。
【问题讨论】:
-
尝试通过将
false传递给您的addEventListener来禁用useCapture。 -
@bertdida 它不起作用
标签: javascript reactjs dom-events ref