Всем привет!
Ребят подскажите как осуществить появление и сокрытие выпадающего контекстного меню по клику в react?
во vue там можно было по клике менять в true и если true добавлять класс.
я к тому что в приложениях на фреймфорках вроде как не камильфо юзать квериселектор и иже с ними
Все зависит от того, как именно у Вас меню открывается. Если просто появляется и исчезает, то можно вообще с помощью css сделать .dropdown[data-toggle="false"] .menu { display: hidden; } Но если нужна анимация, то это уже нужно вывернутся наизнанку. И проблема не работе с dom, а в том что именно в реакте компонент не может работать с другими компонентами, хотя это нормально и даже более чем естественно. Компоненты должны работать с другими компонентами напрямую.
Но в последних своих проектах я остановился на сервесной логике, то есть всю логику инкапсулировал в сервисах, которые передавал нужным компонентам. К примеру в bootstrap3 Вы указываете идентификаторы и задаете свои свойства. А при использовании сервисов, Вы просто устанавливаете сервисы.
А в чем проблема?
Заводите в state компонента флаг isVisible.
В методе render в зависимости от его значение рендерите или не рендерите выпадающее меню.
Если вам нужно его показывать - делаете setState({ isVisible: true }), если надо скрыть - setState({ isVisible: false })