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

Как отследить клик вне компонента?

У меня есть компонент в функциональном стиле, как отследить клик вне компонента?
  • Вопрос задан
  • 7432 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
const rootEl = useRef(null);

useEffect(() => {
  const onClick = e => rootEl.current.contains(e.target) || console.log('клик вне компонента');
  document.addEventListener('click', onClick);
  return () => document.removeEventListener('click', onClick);
}, []);

return (
  <div ref={rootEl}>
    ...
  </div>
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы