React Context API
Context API와 useReducer를 통해 상태관리
컨텍스트를 구독하는 하위 요소들을 모두 리렌더링된다는 문제
State Management 개념적으로 Observer 형태의 코드나 성능보다 우수
UI 컴포넌트를 철저하게 분리해야 컴포넌트는 계속해서 재사용 할 수 있다
그러려면 다음을 고려해 props와 state를 만들어야 한다
- Style 요소를 props로 받을 수 있도록
- Event를 props로 받을 수 있도록
- typed component data
createContext
Context를 생성하는 함수
[Provider]
Context를 구독하는 컴포넌트들에게 Context의 변화를 알리는 컴포넌트
[Consumer]
Context 변화를 구독해 변화시 재 렌더링하는 컴포넌트
구독하는 모든 컴포넌트는 Provider의 value props가 바뀔 때마다 다시 렌더링