Задать вопрос
parmactep
@parmactep

Как обработать клик вне react компонента?

Первое что приходит в голову, как вариант решения
document.addEventListener('click', this.handleOuterClick);

и соответственно
handleOuterClick: function(e) {
		let $node = $(ReactDOM.findDOMNode(this);
		if ($node.has(e.target).length === 0) {
			/*
			* some actions
			* */
		}
	}

Но почему-то кажется что это адский костыль. Возможно есть какое-то более красивое решение?
  • Вопрос задан
  • 3482 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Так примерно и делают.
https://www.npmjs.com/package/react-click-outside
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽