JSFiddle - React, Tailwind, and code Playground

HTML

<div class="col-sm-8 product-video-section" id="player" data-videoId="h3P1OR9gg2Y">
  <iframe id="ytplayer" width="560" height="315" src="https://www.youtube.com/embed/h3P1OR9gg2Y" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen wmode="Opaque"></iframe>
</div>

<script>
  // 2. This code loads the IFrame Player API code asynchronously.
  var tag = document.createElement('script');

  tag.src = "https://www.youtube.com/iframe_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  // 3. This function creates an <iframe> (and YouTube player)
  //    after the API code downloads.
  var player;
  var videoId = document.getElementById('player').getAttribute('data-videoId')

  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '195',
      width: '260',
      videoId: videoId,
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

  // 4. The API will call this function when the video player is ready.
  function onPlayerReady(event) {
    event.target.setVolume(0);
    event.target.playVideo();
  }

  // 5. The API calls this function when the player's state changes.
  //    The function indicates that when playing a video (state=1),
  //    the player should play for six seconds and then stop.
  var done = false;

  function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING && !done) {
      //      setTimeout(stopVideo, 6000);
      done = true;
    }
    event.target.setVolume(0);
  }
</script>