Component는 2가지로 구분됩니다. 이전 시간까지 알아본 function Component가 있구요. 또 이번 시간부터 알아볼 class Component가 있습니다.
this.setState(객체를 return 하는 콜백 함수)
this.setState({객체})
React를 사용할 때 DOM 엘리먼트가 생성된 후 리스너를 추가하기 위해 addEventListener를 호출할 필요가 없습니다. 대신, 엘리먼트가 처음 렌더링될 때 리스너를 제공하면 됩니다.
- React 공식 문서 -
Class Component 와 state를 이해하기 위해 버튼 click event에 따라 숫자가 변하는 Class Component를 만들어 보겠습니다.
import React from 'react';
class App extends React.Component{
state = {
count : 0
}
plus = () => {
//current는 state Object 전체를 의미합니다.
//this.state를 직접 이용해서 값을 변경하는건 위험합니다.
this.setState(current => {
return {count: current.count + 1}
});
}
minus = () => {
this.setState(current => {
return {count: current.count - 1}
});
}
render(){
return (
<div>
<h1>count: {this.state.count}</h1>
<button onClick = {this.plus}>Plus</button>
<button onClick = {this.minus}>Minus</button>
</div>
);
}
}