请帮助我解决此错误:
if (!evt.currentTarget.contains(evt.relatedTarget)) {
^^^^^^^^ property `contains`. Property not found in
if (!evt.currentTarget.contains(evt.relatedTarget)) {
^^^^^^^^^^^^^^^^^ EventTarget
以下是相关 Navigation.jsx 组件代码的一部分:
class Navigation extends React.Component<Props, State> {
state = {
open: false
};
...
handleClickOutside = (evt: SyntheticMouseEvent<> &
{ currentTarget: HTMLElement, relatedTarget: HTMLElement }) => {
if (!evt.currentTarget.contains(evt.relatedTarget)) {
this.setState({
open: false
});
}
};
render() {
return (
<div className="header__bottom" onBlur={this.handleClickOutside}>
...
答案 0 :(得分:2)
也许对某人有用:
错误发生在SyntheticEventType
所以不是行 -
handleClickOutside = (evt: SyntheticMouseEvent<> & ...
应该是
handleClickOutside = (evt: SyntheticFocusEvent<'blur'> &...
在这种情况下,存在 eventTarget contains
方法。