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 vector = new THREE.Vector3();

var scene  = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000);

var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);

document.body.appendChild(renderer.domElement);

document.addEventListener( 'mousemove', onDocumentMouseMove, false );

/// Add a point
var dotGeometry = new THREE.Geometry();
dotGeometry.vertices.push(new THREE.Vector3( 10, 10, 10));
dotGeometry.vertices.push(new THREE.Vector3( 220, 220, 220));

var dotMaterial = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false } );
var dot = new THREE.Points( dotGeometry, dotMaterial );
scene.add( dot );

// Executes when the mouse "clicks"
function onDocumentMouseMove( event ) 
{
	event.preventDefault();

	var mouse2D = new THREE.Vector2();

	mouse2D.x = ( event.clientX / window.innerWidth ) * 2 - 1;
	mouse2D.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
	
	vector.set( mouse2D.x, mouse2D.y, 0 );
	vector.unproject( camera );

	dotGeometry.dynamic = true;  
	dotGeometry.vertices[0].copy( vector );
	dotGeometry.verticesNeedUpdate = true;
	
	console.log('test');

	renderer.render(scene, camera);
}

camera.position.z = 2000; 
renderer.render(scene, camera);