JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>

CSS

body {
	  margin: 0;
}

JavaScript

var camera, controls, scene, renderer;

		init();
		animate(); // remove when using next line for animation loop (requestAnimationFrame)

		function init() {

			scene = new THREE.Scene();
			renderer = new THREE.WebGLRenderer();
			renderer.setClearColor(0xeeeeee,1);
			renderer.setPixelRatio( window.devicePixelRatio );
			renderer.setSize( window.innerWidth, window.innerHeight );

			document.body.appendChild( renderer.domElement );
      
      var ASPECT_RATIO = window.innerWidth / window.innerHeight;
     	var AMOUNT = 2;
      var SIZE = 1 / AMOUNT;
      
      var cameras = [];
      
     	for ( var y = 0; y < AMOUNT; y ++ ) {

					for ( var x = 0; x < AMOUNT; x ++ ) {

						var subcamera = new THREE.PerspectiveCamera( 40, ASPECT_RATIO, 0.1, 100 );
						subcamera.bounds = new THREE.Vector4( x / AMOUNT, y / AMOUNT, SIZE, SIZE );
						subcamera.position.x = ( x / AMOUNT ) - 0.5;
						subcamera.position.y = 0.5 - ( y / AMOUNT );
						subcamera.position.z = 20;
						subcamera.lookAt( new THREE.Vector3() );
						subcamera.updateMatrixWorld();
						cameras.push( subcamera );

					}

				} 
			
      camera = new THREE.ArrayCamera( cameras );
      camera.position.set( 0, 0, 20 );
			
			var geometry = new THREE.SphereBufferGeometry( 1, 16, 16 );
			var material = new THREE.MeshPhongMaterial( { color: 0xffff00 } );

			var mesh1 = new THREE.Mesh( geometry, material );
			mesh1.position.set( 0, 5, 0 );
			mesh1.updateMatrix();
			mesh1.matrixAutoUpdate = false;
			scene.add( mesh1 );

			var mesh2 = new THREE.Mesh( geometry, material );
			mesh2.position.set( 0, - 5, 0 );
			mesh2.updateMatrix();
			mesh2.matrixAutoUpdate = false;
			scene.add( mesh2 );

			var mesh3 = new THREE.Mesh( geometry, material );
			mesh3.position.set( 5, 0, 0 );
			mesh3.updateMatrix();
      mesh3.matrixAutoUpdate = false;
			scene.add( mesh3 );
	
			// lights
      
			var light = new THREE.PointLight( 0xffffff, 0.6 );
      light.position.set( - 100, 100, 100 );
     ...