컴포넌트를 만들 때 function을 쓰면 되는 걸로 알고 있었다.
근데 예전 리액트에서는 class 문법을 많이 사용했기에, 잘 쓰진 않겠지만 잘 알아두면 좋을 것 같아서 기록한다.
class Modal2 extends React.Component {
constructor(){
super()
}
render(){
return (
<div>안녕</div>
)
}
}
class Modal2 extends React.Component {
constructor(){
super();
this.state = {
name : 'kim',
age : 20
}
}
render(){
return (
<div>안녕 { this.state.name }</div>
)
}
}
class Modal2 extends React.Component {
constructor(){
super();
this.state = {
name : 'kim',
age : 20
}
}
render(){
return (
<div>안녕 { this.state.age }
<button onClick={()=>{ this.setState({age : 21}) }}>버튼</button>
</div>
)
}
}
state 를 변경하고 싶으면 this.setState 라는 기본 함수를 가져다 쓰자
소괄호 안에 새로운 state를 넣으면 기존 state를 업데이트 해준다.
class Modal2 extends React.Component {
constructor(props){
super(props);
this.state = {
name : 'kim',
age : 20
}
}
render(){
return (
<div>안녕 { this.props.프롭스이름 }</div>
)
}
}
constructor, super 에 props 파라미터를 넣고, this.props.프롭스 이름 으로 사용하면 된다.
결론
귀찮은게 많아졌다. 그냥 function 컴포넌트를 쓰자