'JSX.IntrinsicElements' 유형에 'mesh' 속성이 없습니다. 경고 해결법
전 영상과 똑같이 npm으로 설치하는 과정에서 에러가 발생하시는 분들을 위한 제 해결법입니다. (2025-02 기준)
강사님이 올려주신 소스코드 다운로드
이 방법은 강사님이 올려주신 폴더를 열어서 npm i 만 하시면 됩니다.
직접 다운그레이드
R3F가 현재(2025-02) 기준 React 19를 지원을 안합니다.
그렇기 때문에 React 18로 다운그레이드를 해줘야되는데요
React 다운그레이드
React 최신버전 설치
npm create vite@latest우선 최신버전을 설치한 이후에
다운그레이드
npm uninstall react react-dom
npm install react@18 react-dom@18react와 react-dom을 삭제후 18버전으로 설치합니다.
3. 확인
npm list react react-dom터미널로 확인하시면 18버전으로 다운그레이드 됩니다.
하지만 여기서 끝이 아니라 Typescript와 drei 설치시에도 문제가 발생합니다.
mesh를 작성하게 되면 "JSX.intrinsicElements" 형식에 "mesh" 속성이 없습니다. 라는 경고창이 옆에 계속 뜨는데요
실행결과는 잘 출력 되지만 거슬려서 해결법을 적어봅니다.
'JSX.IntrinsicElements' 에러 해결법
package.json 파일에
type/react와 type/react-dom이 19버전으로 되어 있어 호환이 안되어 발생하는 에러입니다.
npm install @types/react@18 @types/react-dom@18
터미널에 입력해주시면 package.json 파일에서 18버전으로 다운그레이드 됩니다.
또 drei를 설치할때
three-mesh-bvh@0.7.8: Deprecated due to three.js version incompatibility. Please use v0.8.0, instead
에러가 발생하는데요 이는 three.js버전과 three-mesh-bvh 버전 간의 호환성 문제입니다.
drei 라이브러리 설치법
터미널에
npm install @react-three/dreinpm install three-mesh-bvh@0.8.0 --legacy-peer-deps
그럼 3가지 세팅이 완료됩니다
Answer 2
1
안녕하세요. 수로님. 먼저 친절하게 공유해주셔서 감사드립니다.
Typescript와 drei 설치시에도 문제가 발생하는군요.
type도 react 18버젼으로 낮추고 three-mesh-bvh도 변경하는 법을 알려주셔서 감사드립니다.
강의를 업데이트할때 참고해서 테스트하고 업데이트 하겠습니다.
강의들으시면서 진행 해보시다가 안되는 부분 있으시면 알려주세요. 감사합니다 :)
0
안녕하세요, 인프런 AI 인턴입니다. 김수로님.
React Three Fiber(R3F) 프로젝트에서 발생할 수 있는 JSX.IntrinsicElements 오류 및 React와 관련된 여러 문제를 해결하는 방법에 대해 공유해 주셔서 감사합니다. 아래 추가적인 설명 및 기존에 있었던 유사한 문제에 대한 답변을 통해 더 잘 이해하실 수 있도록 도와드리겠습니다.
문제 설명 및 해결 방법
R3F와 React 19 호환성 문제:
- 현재 R3F가 React 19를 지원하지 않아 React 18로 다운그레이드가 필요합니다.
npm install react@18 react-dom@18명령어로 React 18을 설치하면 됩니다. 이후npm list명령어로 버전을 확인합니다.
- 현재 R3F가 React 19를 지원하지 않아 React 18로 다운그레이드가 필요합니다.
JSX.IntrinsicElements 오류:
JSX.IntrinsicElements의mesh속성에 대한 오류는@types패키지 버전이 호환되지 않아서 발생할 수 있습니다.npm install @types/react@18 @types/react-dom@18명령어로 타입 패키지를 다운그레이드 해주세요.
drei 설치 및 호환성 문제:
three-mesh-bvh@0.7.8의 버전 문제는three-mesh-bvh@0.8.0을 설치하여 해결합니다.npm install three-mesh-bvh@0.8.0 --legacy-peer-deps명령어로 설치할 수 있습니다.
관련 질문 및 해결 사례
이 답변에서는 Typescript와 Vite 환경에서의 설정 방법을 확인할 수 있으며, 해결하는 데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
카드 뉴스 만들기..
0
9
0
기존 mcp를 플러그인으로 대체
0
10
1
바이브코딩을 하는 개발자(작업복잡도 판단의 어려움)
0
12
1
커서에서 클로드 코드 실행했는데 쉬프트 +엔터가 안먹히는데요.
0
8
1
claw code 에 대해서는 어떻게 생각하시나요?!
0
17
1
비개발자용 리서치나 논문검색 프로젝트 요청
0
13
1
프론트엔드 학습 수준 문의
0
8
1
커밋 명령에 대한 플랜모드 미적용
0
18
2
prd.md 관련
0
18
3
하네스 강의 관련
0
30
2
갑자기 크루드가 실행이 안됩니다.
0
27
2
크루드가 실행이 안되요..
0
26
2
ai 도구 질문
0
27
1
오브젝트에의 이벤트 감지 vs 레이캐스팅
0
55
2
섹션 10을 들었을때 궁금증
0
87
2
material 파트까지 들은 후 생긴 궁금증
0
149
1
zoom과 fov의 차이점이 잘 이해가 안됩니다.
1
272
2
1강 관련하여 의견을 여쭙고 싶은 게 있습니다.
0
127
1
onClick 이벤트함수로 raycaster 방향이 자동으로 set되나요?
0
174
2
화면에 렌더링은 되는데 코드에서 빨간줄이 떠요
0
380
2
문제 해결했습니다.
0
178
1
문제 있어요! alias Path @ 문제
0
455
2
dom / svg / canvas
0
230
1
물질을 클릭했을 때 이벤트
0
402
1

