⭐️ Props and State
- props와 state는 모두 순수 자바스크립트 객체입니다.
- props와 state는 둘 다 render update를 발생시킵니다. (props와 state의 변화가 리렌더링을 발생시킨다.)
- props와 state는 모두 결정론적입니다. 결정론적이라는 것은 예측한 그대로 동작하는 것입니다. 특정 입력이 들어오면 언제나 똑같은 과정을 거쳐 같은 과정을 낳는다는 것인데요. 만약 같은 props와 state를 가진 컴포넌트가 다른 결과물을 발생시키면 , 코드를 잘못 짰을 가능성이 높습니다.
⭐️ props vs state
props
props는 컴포넌트의 구성 요소(optional)이며 , 상위 컴포넌트로부터 받아들입니다. 받아들이는 컴포넌트에서는 props를 변경할 수 없습니다.(immutable) -> 자식 요소로 건내주기만 한다는 뜻이겠죠.
state
state는 Component가 mount될 때의 기본값이고 , 유저 이벤트 (클릭, 키보드 입력 등)에 따라 변화를 겪습니다. (mutable)
컴포넌트는 state를 해당 컴포넌트 내부에서만 관리할 수 있습니다.
