this.div = div}>My div</div>
И я пытаюсь по клику на всем экране к нему обратиться, но выходит undefined:
componentDidMount() {
document.addEventListener('mousedown', this.onClickOutside);
}
onClickOutside(e) {
console.log('this.div', this.div); //выводит undefined
}
При клике onOutsideClick вызывается в контексте window
Для начала если вы делаете componentDidMount() { document.addEventListener('mousedown', this.onClickOutside); } Т е вы вызываете this.onClickOutside то вы должны делать onClickOutside = e => console.log('this.div', this.div); Второе не делайте функцию прямо в jsx выносите ее getMyDiv = node => { this.div = node} ..... <div ref={this.getMyDiv} >My div</div>
Обсуждают сегодня