reactjs - 如何使用 TypeScript 制作点击事件处理函数

标签 reactjs typescript

我正在尝试添加一个用于点击的事件监听器,但它说 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>
        );
    }
}

最佳答案

也许你应该尝试e.target as Element

关于reactjs - 如何使用 TypeScript 制作点击事件处理函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54624876/

相关文章:

typescript - Webpack watch 不会在第二次更改时生成输出

TypeScript 编译器评估 let 与 const 不同

typescript - 用 Moment JS 添加天数

html - 如何在模板文字字符串中插入 HTML?

reactjs - 如何在 React 中使用增量运算符

javascript - 如何确保 React 组件的状态正确?

reactjs - 类型 'string | null' 不可分配给类型 'string'

typescript - 我们可以在 typescript 中访问另一个类中的私有(private)变量吗

javascript - 对数组中的任何字符串使用 "include"

javascript - 在一定时间间隔后更新 react 状态