setState 메소드를 사용하면 스프레드 연산 등의 기법을 쓰지 않아도 키가 훼손되지 않음.
Error
src
src/App.js
import React from 'react'
class App extends React.Component{
// 클래스 내부 속성 state 는 상태 역할을 함.
// 멤버 변수 = {속성}
state = {
number: 0
}
render(){
return <h1>{number}</h1>
}
}
export default App
※ number 는 App 상탯값이 맞지만, state 라고 하는 상탯값 객체 멤버이다. {state.number}
※ 메소드는 멤버 함수. 자기의 멤버 변수를 구분해줘야한다. {this.state.number}
Solution
src
src/App.js
import React from 'react'
class App extends React.Component{
// 클래스 내부 속성 state 는 상태 역할을 함.
// 멤버 변수 = {속성}
state = {
number: 0
}
render(){
return <h1>{this.state.number}</h1>
}
}
export default App
01-3 setState
src
src/App.js
import React from 'react'
class App extends React.Component{
// 클래스 내부 속성 state 는 상태 역할을 함.
// 멤버 변수 = {속성}
state = {
number: 0
}
handleD = () => this.setState({ number: this.state.number - 1 })
handleI = () => this.setState({ number: this.state.number + 1 })
render(){
return <>
<h1>{this.state.number}</h1>
<button onClick={ this.handleD }>감소</button>
<button onClick={ this.handleI }>증가</button>
</>
}
}
export default App