const geo = useMemo(()=> new THREE.BoxGeometry(),[])
[ ] ⇒ 의존성을 나타냄
useFrame은 매 프레임마다 실행되지만 Box 컨포넌트 전체를 다시 실행시키는게 아니라 콜백 내부의 로직만 매 프레임마다 실행된다
하지만 컨포넌트가 리렌더링될때(state변경, useRef.current 변경, props 변경) new THREE.BoxGeometry() 부분이 다시 실행되게 되고 useMemo()는 이 값을 가지고 있다가 다시 실행될때 의존성 배열이 변경되지 않는 한 이전에 생성된 객체를 재사용하게한다.