본문 바로가기
Front-end/React

클래스 컴포넌트에서 constructor 생성자

by mooyou 2024. 11. 20.
728x90
300x250

constructor(props)는 클래스 컴포넌트에서 초기 설정을 할 때 사용하는 생성자 함수이다.

리액트의 클래스 컴포넌트에서는 Component클래스를 상속받기 때문에 constructor를 작성할 때 super(props)를 호출해서 부모 클래스의 생성자를 초기화해주어야 한다.

 

생성자 함수가 없어도 되는 경우

만약 컴포넌트가 state를 초기화하거나, props를 초기 설정할 필요가 없다면 constructor를 생략가능하다.

생성자 없이 컴포넌트를 선언하면 리액트가 내부적으로 Componet의 기본 생성자를 자동으로 호출한다.

그래서 constructon를 생략해도 컴포넌트가 정상적으로 작동할 수 있다.

예를들어 constructor 없이도 다음과 같이 state를 초기화할 수 있다.

class Counter extends Component {
    // 생성자 없이 state 초기화
    state = { count: 0 };

    render() {
        return (
            <div>
                <p>현재 카운트: {this.state.count}</p>
            </div>
        );
    }
}

 

 

constructor가 필요한 경우

반면에 props를 기반으로 state를 초기 설정하거나 특정 초기화 작업이 필요할 때는 constructor이 필요하다.

728x90
반응형

댓글