我正在尝试为点击添加事件侦听器,但这是说在EventTarget类型上不存在classList。
class UIModal extends React.Component<Props> {
handleClick = (e: Event) => {
if ((e.target as EventTarget).classList.contains('modal-mask')) {
this.props.close();
}
}
componentDidMount() {
window.addEventListener('click', this.handleClick);
}
componentWillUnmount() {
window.removeEventListener('click', this.handleClick);
}
render() {
return (
<div className="modal-mask">
<div className="modal">
{this.props.children}
</div>
</div>
);
}
}
答案 0 :(得分:2)
也许您应该尝试e.target as Element
?
答案 1 :(得分:0)
e.target
应该是e.currentTarget