Я хочу отслеживать, произошел ли щелчок внутри или снаружи компонента.
Но я получаю ошибку "Uncaught TypeError: Невозможно прочитать свойство 'содержит' неопределенного"
export default class M1Component extends React.Component{
constructor(props) {
super(props);
}
componentWillMount() {
document.addEventListener('click', this.handleClick, false);
}
componentWillUnmount() {
document.removeEventListener('click', this.handleClick, false);
}
handleClick = e => {
if(this.node.contains(e.target)){
console.log("component inside click");
return;
} else {
console.log("component outside click");
}
}
render() {
return(
<div className="form-group" ref={node => this.node = node}>
...
</div>
);
}
}
Когда я пытаюсь распечатать эти значения,
console.log(e.target); // getting the div value
console.log(this.refs.node); // getting undefined