Next.js 'Component' cannot be used as a jsx component 에러
2023년 5월 25일
이게 무슨일이야
개인 프로젝트를 진행하던 중, 'Component' cannot be used as a jsx component라는 에러를 만나게 되었다.
이 에러를 만나게 된 상황은 다음과 같다.
-
프로젝트에 테스트를 도입하기 위해 Jest와 테스팅 라이브러리를 설치하던 중, 라이브러리에서 요구하는 node의 버젼과 현재 내가 사용하고 있는 node의 버전이 달라 설치에 실패했다.
-
node의 버전을 알맞게 변경
-
라이브러리 설치 완료 후 에러 발생
결국, 라이브러리 설치 중 node의 버젼을 변경하여 현재 사용하는 라이브러리가 꼬인 것 같았다.
해당 문구로 검색해보니, 대부분의 해결 방법은 pakage.json에 resolutions라는 항목을 추가하고, 여기에 types 라이브러리들과 기존 라이브러리의 버전이 다르면 기존의 라이브러리 버전을 적어 types의 버전이 변동이 일어나지 않도록 하라는 것이었다.
이 글을 보고, pakage.json을 확인했더니 @types와 react의 라이브러리 버전이 달라져있었다.
이를 내 버전에 맞게 설정하고, 혹시 몰라 node_modules를 삭제 및 yarn i 실행 후 다시 실행했더니 에러가 발생하지 않았다.