최근 잘 사용하지 않는 컴포넌트 형태.
render() 메서드를 이용하여 렌더링, JSX 반환.
props를 조회해야 할 때에는 this.props를 조회.
button 클릭시 count되는 프로그램을 클래스형 컴포넌트 이용하여 구현
import React, {Component} from "react";
export default class AppClass extends Component{
constructor(props){
super(props)
this.state = {
counter : 0
}
}
increase = () => {
this.setState({
counter : this.state.counter + 1
});
}
render(){
return(
<>
<h1>{this.state.counter}</h1>
<button onClick={this.increase}>+1</button>
</>
)
}
}
React에사 생성자 목적
this.state에 객체를 할당하여 지역 state초기화.
인스턴스에 이벤트 처리 메서드를 바인딩.
this.state를 직접 할당할 수 있는 유일한 곳. 이 외에는 this.setState()를 사용.
constructor 내부에서 setState()를 호추하면 안됨. 컴포넌트에 지역 state가 필요하면, 생성자 내에서 this.state에 초기 state값을 할당해야함.
출처 :
클래스형 컴포넌트
React.Component