프론트/React

[React] Uncaught (in promise) TypeError: xx is not a function...

YoungBLUE 개발일지 2023. 5. 11. 21:55

혹시몰라 컴포넌트명은 가렸다

에러 발생

업무중 에러가 발생했다.

Uncaught (in promise) TypeError: props.closeModal is not a function.

 

정말 바보같은 상황이었다. 알고보면 아무것도 아니고 간단한 해결이지만, 처음 시작하는 초심자의 마음일떈

내가 뭐 잘못한지 모르고 왜 오류나는지 찾기 때문에 이런 것도 블로그에 적어본다.

 

상황 설명

나의 경우 내부 컴포넌트의 모달을 부모의 구현부에서 속성으로 show: true/false 를 하는데

이때 '닫기' 또는 완료 했을 경우 props 로 제공한 closeModal 이라는 함수를 호출한다. (any)

 

그런데 제대로 제공을 하고 호출을 했음에도 불구하고 is not a function 이라는 오류가 나는게 아닌가?

 

해결 방법

알고보니 저 모달을 사용하는 또다른 컴포넌트에 closeModal을 연결 해놓고

연결하지 않은 컴포넌트에  가서 closeModal을 호출 하고 있었다....

정말 나란 바보...

 

보통 not a function 이라는 에러가 나는 경우는 import 를 잘못 했거나, 나처럼 정말 연결하지 않아놓고 호출하는 경우에 발생할 수 있으니

import와 또는 props에 잘 제공하고 있는지 확인 하자!

반응형