작성
·
229
0
강사님..ㅠㅠ this.getStyle(), this.handleClick(), this.todoData.map()하는데 여기서 왜 this를 사용하는지 이해가 안갑니다..
답변 1
1
안녕하세요 !!
이 부분은 자바스크립트 클래스에 관한 부분입니다.
클래스 안에서 메서드나 생성을 한다면 그 메서드들이
클래스 안에 들어가게 됩니다.
그리고 this라는 keyword 가 그 클래스에 binding 됩니다.
그렇기에 this를 이용해서 클래스에 접근하며 그 클래스에 있는 메서드들도 사용할 수 있게 되는 것입니다!!
그러면 setState은 왜 this.setState으로 사용할까요?
this 라는 것 안에 setState가 들어있는데
this 가 setState을 가지고 있을 수 있는 이유는
this는 이 Car라는 컴포넌트에 Binding이 되는데
Car 컴포넌트는 React.Component를 extends 해서 (상속한다고 생각해주세요) React.Component안에 있는 걸 사용할 수 있습니다.
React.Component 안에는 당연히 setState가 들어있겠죠?
요약하면 this => App 컴포넌트에 binding 되고 => App은 setState을 가지고 있는 React.Component를 extends 하기 때문에 this.setState()를 사용할 수 있습니다.
감사합니다.