👉 state를 언급하기 전, 다음 글에서 공부할 props에 대해 간략하게 알아보자.
모든 데이터 전달 방향은 부모 컴포넌트 → 자식 컴포넌트
로 향함.자식은 받아온 props를 직접 수정할 수 없기
때문에 변경 데이터 저장은 불가능함.state는 컴포넌트 내부에서 선언하며, 내부에서 값을 변경할 수 있음.
👉 State는 말 그대로 상태
와 관련된 것.
사용하는 쪽과 구현하는 쪽을 철저하게 분리시켜서 양쪽의 편의성을 각자 도모
하는 것.📌 예시 )
class App extends Component {
constructor(props) {
super(props);
this.state={ // 구현
Subject:{name:'hs',age:'24'}
}
}
render() {
return (
<div className="App">
<Subject
title={this.state.subject.name} // 사용
sub={this.state.subject.age}>
</Subject>
</div>
);
}
}
📌 예시 )
onClick() {
this.setState({ age: 23 }); // age 값이 초기값 0 에서 23으로 업데이트 되도록 요청.
}
📌 사용사례 )
좋아요 버튼을 눌렀을 때 좋아요 수가 증가되도록 하는 경우
class ClassComponent extends React.Component {
state = { // 멤버 변수를 사용하여 초기화
count: 0,
};
onClick = () => {
this.setState({ count: this.state.count + 1 });
// 좋아요 버튼 클릭 시 count가 1씩 증가
};
render() {
return (
<div>
{this.state.count} <button onClick={this.onClick}>좋아요</button>
</div>
);
}
}
React State
컴포넌트 State
누구든지 하는 리액트 4편:props와 state
[React] 컴포넌트의 State 란?
비동기로 동작하는 react의 setState에 대하여