JSFiddle - React, Tailwind, and code Playground

HTML

<button>
  Toggle Camera
</button>
<video></video>

JavaScript

class Camera {
  constructor({ video }) {
    this.facingMode = "environment";
    this.video = video;
    video.onloadedmetadata = () => {
      video.play();
    };
  }
  async toggleCamera() {
    if (this.facingMode === "environment") {
      this.facingMode = "user";
    } else {
      this.facingMode = "environment";
    }
    console.log(this.facingMode);
    try {
      this.stream = await navigator.mediaDevices.getUserMedia({
     		video: {
          facingMode:  this.facingMode,
        }
      });
    } catch (e) {
      console.error(e);
    }
    this.video.srcObject = this.stream;
  }
}

const camera = new Camera({
	 video: document.querySelector("video"),
});
const button = document.querySelector("button");
button.addEventListener('click', () => {
	camera.toggleCamera();
});