몇 분 안에 React와 Three.js를 사용하는 방법 ⏳
8759 단어 reacttutorialjavascriptwebdev
이 섹션에서는 다음을 수행합니다.
시작하기 전에
계속 진행하기 전에 다음을 설치 또는 구성해야 하며 사용에 대한 최소한의 기본 사항을 알고 있어야 합니다.
create-react-app
의 이전 사용반응 앱 만들기
npx create-react-app cra-threejs
npm run start
그러면 React 앱이 표시됩니다
종속성 설치
three.js
패키지 설치npm i three
Three.js용 React 구성 요소 만들기
Three.js
.Three.js
파일three.js
가져오기useEffect
를 사용하여 three.js
구성 요소three.js
문서에 나와 있는 것처럼 본문 문서가 아니라 우리가 만들고 있는 구성 요소에 three.js
구성 요소를 마운트하기를 원하기 때문에 useRef를 사용하고 있습니다.import * as THREE from 'three';
import { useEffect, useRef } from "react";
function MyThree() {
const refContainer = useRef(null);
useEffect(() => {
// === THREE.JS CODE START ===
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
// document.body.appendChild( renderer.domElement );
// use ref as a mount point of the Three.js scene instead of the document.body
refContainer.current && refContainer.current.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
var animate = function () {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
};
animate();
}, []);
return (
<div ref={refContainer}></div>
);
}
export default MyThree
Three.js로 React 컴포넌트 가져오기/사용
import Three from './Three';
<Three />
자원
Link 작업 예제
Create React App
읽어 주셔서 감사합니다
Reference
이 문제에 관하여(몇 분 안에 React와 Three.js를 사용하는 방법 ⏳), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/omher/how-to-start-using-react-and-threejs-in-a-few-minutes-2h6g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)