Как в React по клику вне элемента менять его класс?
В codesandbox у меня есть хук clickoutside, который позволяет менять стейт по клику мимо блока, и он работает. Блок появляется и исчезает как надо. Сейчас он его именно рендерит, что мне не подходит. Мне нужно чтобы по клику вне блока убирался класс is-open и я его скрывал через css (стили в примере уже готовы). У самого не получается заставить это работать как надо. Заранее спасибо за помощь.
Забыли добавить ref={ref} элементу, который собираетесь скрывать.
Ну и вы бы ещё определились, как именно элемент должен отображаться/скрываться - через условный рендеринг, или стилизацию. Зачем использовать оба способа одновременно - я без понятия.
Спасибо, помогло! Элемент должен скрываться только через стилизацию. Наверное, когда я пытался этого добиться, забыл убрать изменение через условный рендерниг.