Make Be BackEnd

[React] TypeError: this.setState is not a function 본문

Error

[React] TypeError: this.setState is not a function

Initsave 2024. 8. 2. 07:56

현상

리액트 개발 도중에 a 컴포넌트(콜백함수)에서 프로퍼티를 받아 실행 할때 난 에러

 

원인

해당 함수의 참조하는 this의 범위 때문에 일어난 에러, 함수에 구현되어있는 this.setState(..)는 상위 컴포넌트에 정의 되어있는데 하위에서 실행 하기 때문

콜백 함수를 프로퍼티 데이터로 전달하는 경우에는 하위 컴포넌트에서 참조할 this범위에 대한 오류 주의하도록 하자..

 

해결

bind() 함수로 this 범위 오류 해결하기 

this.(콜백함수) -> this.(콜백함수).bind(this)