JSFiddle - React, Tailwind, and code Playground

HTML

<div>
<div id="dd" class="wrapper-dropdown-2" >More actions
<ul class="dropdown">
<li><a href="#">Twitter</a></li>
<li><a href="#">Github</a></li>
<li><a href="#">Facebook</a></li>
</ul></div></div>

CSS

/* DEMO 2 */

.wrapper-dropdown-2 {
    /* Size and position */
    position: relative; /* Enable absolute positionning for children and pseudo elements */
    width: 100px;
    padding: 5px 5px 5px 5px;

    /* Styles */
    background: #fff;
    cursor: pointer;
    outline: none;
}

.wrapper-dropdown-2:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -3px;
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: grey transparent;
}


.wrapper-dropdown-2 .dropdown {
  /* Size & position */
    position: absolute;
    top: 30%;
    
border: 1px solid red;
    /* Styles */
    background: white;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    list-style: none;
text-align: left;
    /* Hiding */
    opacity: 0;
    -webkit-box-shadow: 0 1px 6px rgba(0,0,0,.15);
	-moz-box-shadow: 0 1px 6px rgba(0,0,0,.15);
	box-shadow: 0 1px 6px rgba(0,0,0,.15);
}

.wrapper-dropdown-2 .dropdown li  {
	float:left;
    text-align:left;
}

.wrapper-dropdown-2 .dropdown li a {
    display: block;
    text-decoration: none;
    color: #333;
	float:left;
    border-radius:2px;
    padding: 4px 4px 4px 4px;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}


/* Hover state */

.wrapper-dropdown-2 .dropdown li:hover a {
    background-color: #eee;
	
}

/* Active state */

.wrapper-dropdown-2.active:after {
    border-width: 0 6px 6px 6px;
	border-radius:2px;
}

.wrapper-dropdown-2.active .dropdown {
    opacity: 1;
    pointer-events: auto;
}

JavaScript

function DropDown(el) {
				this.dd = el;
				this.initEvents();
			}
			DropDown.prototype = {
				initEvents : function() {
					var obj = this;

					obj.dd.on('click', function(event){
						$(this).toggleClass('active');
						event.stopPropagation();
					});	
				}
			}

			$(function() {

				var dd = new DropDown( $('#dd') );

				$(document).click(function() {
					// all dropdowns
					$('.wrapper-dropdown-2').removeClass('active');
				});

			});