🕵️ React Class 문법을 이용한 컴포넌트 생성이다.
클래스 문법은 궁금증
시리즈에 constructor()
, super()
, render()
의 사용이유를 다루었다. 참고
일단 간단하게만 쓰자면 class문법은 변수
와 함수
를 많이 보관하는 보관함이라고 생각하면 된다. 기본 구성이라고 외우면 되는데 안에는 constructor()
, super()
, render()
가 들어간다.
state
class Modal2 extends React.Component{
constructor(){
super();
this.state={
name: 'kim',
age: 20
}
}
render(){
return(
<div>안녕{this.state.name}</div>
)
}
}
을 만들어서 AppComponent
의 return문
안에<Modal2/>
를 넣게되면
this.state로 만든 name이 <div>안녕{this.state.name}</div>
으로 인해 화면에 안녕 kim
이 나타나게 된다.
setState
return(
<div id="pr">안녕{this.state.name}
<button onClick={()=>{
this.setState({name : 'joo'})
}}>버튼</button>
</div>
)
setState
를 사용하여 state
를 변경할 때 사용한다. 위에 state
예제에서 아래에 setState
의 코드를 추가한다. 버튼을 누르면 onClick이벤트
가 발생하고 onClick
이 되면 this.setState
의 name
이 joo
로 변경된다. 라는 뜻이다.
기존 state
의 값을 바꾸는게 아니라 기존 state
의 변경사항만 반영해준다.
props
Component
를 이용할 때 props
로 보낼수도 있다.
constructor(props){
super(props)
부모컴포넌트에서 받은 props
는 생성자함수인 constructor
와 super
에 props
를 쓰고
<div>안녕 {this.props}</div>
이렇게 사용하여 props
를 받는다.