class App extends React.Component{
state ={
count: 0
};
add = () => {
this.setState(current => ({count: current.count + 1 }));
};
minus = () => {
this.setState(current => ({count: current.count - 1 }));
};
render(){
return(//return할때는 하나의 tag로 감싸야한다.
<div>
<h1>im a class {this.state.count}</h1>
<button onClick={this.add}>Add</button>
{/*this.add()에서 ()는 즉시실행을 나타낸다*/}
<button onClick={this.minus}>Minus</button>
</div>
)
}
}
export default App;
만약 state에 book이란 key가 없어도 this.setState({book: true});를 사용하면 state에 새로운 값이 추가된다.
class App extends React.Component{
state ={
count: 0
};
add = () => {
this.setState(current => ({count: current.count +1 }));
};
minus = () => {
this.setState(current => ({count: this.state.count -1 }));
};
...
lass App extends React.Component{
state ={
count: 0
};
add = () => {
this.setState(current => ({count: current.count +1 }));
//current로 현재 state를 가져올 수 있다.
};
minus = () => {
this.setState(current => ({count: this.state.count -1 }));
};
...
setState에서 기존의 state를 가져올때 위 방법보다 아래 방법을 사용하는데 더 낫다.
add = () => {
this.setState({count: this.state.count + 1});
};
vs
add = () => {
this.setState(current => ({current.count + 1}));
};