인프런 커뮤니티 질문&답변

w a님의 프로필 이미지
w a

작성한 질문수

따라하며 배우는 리액트 A-Z[19버전 반영]

할 일 목록 UI 만들기(JSX, CSS 작성)

this

작성

·

243

0

코드를 작성할 때 this.getStyle() 형식으로 작성하는데

this가 의미하는 것이 무엇인가요?

답변 1

2

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 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()를 사용할 수 있습니다.
감사합니다.

w a님의 프로필 이미지
w a

작성한 질문수

질문하기