[React] constructor(props){super(props)} 작성이유

constructor(props){super(props)} 작성이유

React에서 

1. 컴포넌트를 생성하거나 

2. state 값을 초기화하거나

3.메서드를 바인딩할 때 

사용한다.

메서드를 바인딩하거나 state를 초기화하는 작업이 없다면, 해당 React 컴포넌트에는 생성자를 구현하지 않아도 된다. 


여기에서 super는 부모클래스 생성자를 가르킨다. 리액트에서는 React.Component를 가리킨다.

super(props) 선언전까지 constructor내에서는 this를 사용할 수 없다. 



1번 사진

기존에는 state값을 초기화 하기위해서 1번 사진과 같이 작성했는데 클래스필드 문법을 지원하면서 


2번 사진

2번 사진과 같이 작성할 수 있게되면서 메서드를 바인딩 하는경우가 아니라면 더 이상 constructor(props){super(props)}를 사용하지 않아도 된다.

es6에서 화살표함수의 특성 때문에 더 이상 this를 직접 바인딩해주지 않아도 된다.




.


댓글