답변 1
2
안녕하세요 w a 님!
이 부분은 자바스크립트 클래스에 관한 부분입니다.
클래스 안에서 메서드나 생성을 한다면 그 메서드들이
클래스 안에 들어가게 됩니다.
그리고 this라는 keyword 가 그 클래스에 binding 됩니다.
그렇기에 this를 이용해서 클래스에 접근하며 그 클래스에 있는 메서드들도 사용할 수 있게 되는 것입니다!!
그러면 setState은 왜 this.setState으로 사용할까요?
this 라는 것 안에 setState가 들어있는데
class Car extends React.Component {
render() {
return <h2>Hi, I am a Car!</h2>;
}
}
this 가 setState을 가지고 있을 수 있는 이유는this는 이 Car라는 컴포넌트에 Binding이 되는데Car 컴포넌트는 React.Component를 extends 해서 (상속한다고 생각해주세요) React.Component안에 있는 걸 사용할 수 있습니다.React.Component 안에는 당연히 setState가 들어있겠죠?
요약하면 this => App 컴포넌트에 binding 되고 => App은 setState을 가지고 있는 React.Component를 extends 하기 때문에 this.setState()를 사용할 수 있습니다.
감사합니다.