JSFiddle - React, Tailwind, and code Playground

HTML

<nav role="navigation">
    <ul>
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
        <li><a href="#">Link 4</a></li>
        <li><a href="#">Link 5</a></li>
    </ul>
    
    <a href="#" class="triggerRM">Open menu</a>
    <div class="overlayRM"></div>
</nav>

CSS

* {
    margin: 0;
    padding: 0;
    list-style: none;
}
nav ul {
    display: block;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    right: 100%;
    bottom: 0;
    background: blue;
    z-index: 200;
}
nav ul li a {
    display: block;
    width: 100%;
    height: 46px;
    line-height: 46px;
    padding: 0 20px;
    vertical-align: middle;
    color: #fff;
    text-decoration: none;
}
nav ul li a:hover {
    background-color: #2849ee;
}
nav .triggerRM {
    display: block;
    position: fixed;
    z-index: 200;
    width: 2.5em;
    height: 2.5em;
    background: blue;
    border-radius: 0 7px 7px 0;
    top: 0;
    left: 0;
    text-indent: -1000%;
    overflow: hidden;
    background: blue url(http://gvss.ragas1.nl/img/menu-rm-btn.png) center center no-repeat;
    -webkit-background-size: 50% 50%;
    -moz-background-size: 50% 50%;
    -o-background-size: 50% 50%;
    background-size: 50% 50%;
}
nav ul,
nav .triggerRM,
nav .overlayRM {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
nav ul.openRM {
    right: 5em;
}
nav .overlayRM.openRM {
    position: fixed;
    background: black;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.5;
    z-index: 190;
}
nav .triggerRM.openRM {
    left: 100%;
    background-image: url(http://gvss.ragas1.nl/img/menu-rm-btn-close.png);
    margin-left: -5em;
}

JavaScript

$(function() {
    // Responsive menu 
	$("nav .triggerRM, nav .overlayRM").on("click", function(e) {
		e.preventDefault();
		$("nav .triggerRM,nav ul,body,.overlayRM").toggleClass('openRM');
	});
});