WIL
state는 변수를 선언할수 있다. 그러나 state가 let이나 const와 다른점은 일반 변수와 다르게 값이 변하게 되면 렌더링이 일어난다. 다시말해 값이 변하게 되면 연관있는 컴포넌트들이 재렌더링이 되어 화면이 바뀌게 된다. 이때 state와 함께 사용 되어 값을 바꿔줄 수 있는 것이 함수가 setState이다.
props 는 properties 의 줄임말로 어떠한 값을 부모 컴포넌트로부터 자식 컴포넌트로 전달하고 싶을때 props를 사용하게 된다.
1.Props 변경 (=> properties의 줄임말)
2.State 변경
3.부모 컴포넌트 렌더링
부모 컴포넌트의 State 변경이 발생하면 Props도 업데이트되고,
모든 하위 컴포넌트에 대해 리렌더링이 발생한다.
리액트에서 State 값이 변경되면 관련 컴포넌트들을 전부 리렌더링 한다.
리액트는 변화를 바로바로 감지하여 화면에 변경사항을 보여주기 때문이다.
4.강제 업데이트(forceUpdate)가 실행될 때
props 나 state 가 아닌 다른 값이 변경되었을 때 리렌더링을 하고 싶다면 그때 사용할수 있는 메서드 이다.
이러한 상황에서 리렌더링 된다. 하지만 지나친 리렌더링은 성능을 악화시키기 때문에 필요한 경우에만 작동하게 함으로써 최적화에 신경써 주어야 한다.