Я хочу отслеживать, был ли щелчок внутри или снаружи компонента - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу отслеживать, произошел ли щелчок внутри или снаружи компонента.

Но я получаю ошибку "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...