JSFiddle - React, Tailwind, and code Playground

HTML

<button id="btn">Simulate a hover on the Stylized button</button>
<!--this shine effect was taken from this url https://codemyui.com/pure-css-shining-button-hover-animation/-->
<button class="btnShine">hover</button>

CSS

@import url(https://fonts.googleapis.com/css?family=Raleway:300);
.btnShine {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.btnShine {
  background: #333;
  color: #ccc;
  width: 200px;
  height: 60px;
  border: 0;
  font-size: 18px;
  border-radius: 4px;
  font-family: 'Raleway', sans-serif;
  -webkit-transition: .6s;
  transition: .6s;
  overflow: hidden;
}
.btnShine:focus {
  outline: 0;
}
.test1, .btnShine:before {
  content: '';
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  width: 60px;
  height: 100%;
  left: 0;
  top: 0;
  opacity: .5;
  -webkit-filter: blur(30px);
          filter: blur(30px);
  -webkit-transform: translateX(-100px) skewX(-15deg);
          transform: translateX(-100px) skewX(-15deg);
}
.test2, .btnShine:after {
  content: '';
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.2);
  width: 30px;
  height: 100%;
  left: 30px;
  top: 0;
  opacity: 0;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  -webkit-transform: translateX(-100px) skewX(-15deg);
          transform: translateX(-100px) skewX(-15deg);
}
.test4, .btnShine:hover {
  background: #338033;
  cursor: pointer;
}
.test3, .btnShine:hover:before {
  -webkit-transform: translateX(300px) skewX(-15deg);
          transform: translateX(300px) skewX(-15deg);
  opacity: 0.6;
  -webkit-transition: .7s;
  transition: .7s;
}
.test5, .btnShine:hover:after {
  -webkit-transform: translateX(300px) skewX(-15deg);
          transform: translateX(300px) skewX(-15deg);
  opacity: 1;
  -webkit-transition: .7s;
  transition: .7s;
}

JavaScript

$("#btn").on("click", function(){
	//$(".btnShine").trigger("mouseenter");
  //$(".btnShine").trigger("hover");
  //$(".btnShine").trigger("mouseover");
  //$(".btnShine").mouseover();
  $('.btnShine').addClass("test3"); 
  $('.btnShine').addClass("test4"); 
  $('.btnShine').addClass("test5"); 
/*
  $('.btnShine').removeClass("test5");
  $('.btnShine').removeClass("test4");
  $('.btnShine').removeClass("test3");
  */
});