JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdn.rawgit.com/mrdoob/three.js/master/build/three.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/master/examples/js/controls/OrbitControls.js"></script>

<button id="button">change

</button>

JavaScript

var camera;
var scene;
var conrols;
var renderer;
var cube;

function init() {
  scene = new THREE.Scene();
scene.background = new THREE.Color( 0xf0f0f0 ); // UPDATED  

  renderer = new THREE.WebGLRenderer({
    alpha: true,
    antialias: true

  });
  renderer.setSize(window.innerWidth, window.innerHeight);
  document.body.appendChild(renderer.domElement);

  camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 10000);

  camera.position.set(-1.57, -1.95, 1.64);
  scene.add(camera);

  scene.add(new THREE.AmbientLight(0xffffff, 0.6));

  var light1 = new THREE.HemisphereLight(0xffffbb, 0x080820, 0.7)
  scene.add(light1);


  var light2 = new THREE.SpotLight(0xffffff, 0.5);
  light2.position.set(4, 7, 23);
  scene.add(light2);

  var light3 = new THREE.SpotLight(0xffffff, 0.5);
  light3.position.set(4, 7, -23);
  scene.add(light3);

  var geometry = new THREE.BoxGeometry(1, 1, 1);
  var material = new THREE.MeshLambertMaterial({
    color: 0x00ff00
  });
  cube = new THREE.Mesh(geometry, material);
  scene.add(cube);

  controls = new THREE.OrbitControls(camera, renderer.domElement);


}


function animate() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
}

document.getElementById('button').onclick = function() {
    // set the view offset to represent just a single pixel under the mouse
    const pixelRatio = renderer.getPixelRatio();
    camera.setViewOffset(
        renderer.getContext().drawingBufferWidth,   // full width
        renderer.getContext().drawingBufferHeight,  // full top
        -200,             // rect x
        1,             // rect y
        renderer.getContext().drawingBufferWidth,                                          // rect width
        renderer.getContext().drawingBufferHeight,                                          // rect height
    );
    // render the scene
    renderer.render(scene, camera);
    renderer.setRenderTarget(null);
 
    // clear the view offset so...