Использовать реактивные ссылки https://reactjs.org/docs/refs-and-the-dom.html#creating-refs
Вы проверяете target
события и используете его для show/hide
кнопки выхода.
добавить прослушиватель событий при монтировании компонента.
componentWillMount() { document.addEventListener("click", this.handleClickOutside, false); }
удалить прослушиватель событий при монтировании компонента.
componentWillUnmount() { document.removeEventListener("click", this.handleClickOutside, false); }
сделать проверку на внешний щелчок что-то вроде этого
handleClickOutside(e) {
if(this.submitPopoverRef.contains(e.target)) {
// the click happened in the component
// code to handle the submit button
// submit();
return;
}
// click happened outside the component
// hide the popover
this.handleClick(); // set the state false
}
<div ref={node => this.submitPopoverRef = node}>
... Your code here...
</div>