Next.js 'Component' cannot be used as a jsx component 에러

2023년 5월 25일

이게 무슨일이야

개인 프로젝트를 진행하던 중, 'Component' cannot be used as a jsx component라는 에러를 만나게 되었다.

이 에러를 만나게 된 상황은 다음과 같다.

  1. 프로젝트에 테스트를 도입하기 위해 Jest와 테스팅 라이브러리를 설치하던 중, 라이브러리에서 요구하는 node의 버젼과 현재 내가 사용하고 있는 node의 버전이 달라 설치에 실패했다.

  2. node의 버전을 알맞게 변경

  3. 라이브러리 설치 완료 후 에러 발생

결국, 라이브러리 설치 중 node의 버젼을 변경하여 현재 사용하는 라이브러리가 꼬인 것 같았다.

해당 문구로 검색해보니, 대부분의 해결 방법은 pakage.json에 resolutions라는 항목을 추가하고, 여기에 types 라이브러리들과 기존 라이브러리의 버전이 다르면 기존의 라이브러리 버전을 적어 types의 버전이 변동이 일어나지 않도록 하라는 것이었다.

이 글을 보고, pakage.json을 확인했더니 @types와 react의 라이브러리 버전이 달라져있었다.

이를 내 버전에 맞게 설정하고, 혹시 몰라 node_modules를 삭제 및 yarn i 실행 후 다시 실행했더니 에러가 발생하지 않았다.


잘못된 내용이 있다면 메일 혹은 github에 남겨주시면 감사드리겠습니다!