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가 바뀔 때마다 다시 렌더링
Context Api 어떻게 사용해야 하는가?
프로젝트마다 상황이 다르지만, 대표적인 경우 공통 state는 Theme관련 그리고 server data 등이 있습니다. 그리고 이러한 state 관리는 항상 개발자들에게 골치거리였으며 Redux와 Mobx 등이 나오면서 그나마 쉽게 관리 할수 있게 되었습니다. 그리고 문제는 server 와의 data fetching 을 처리하는 코드들입니다... 서버와의...
https://medium.com/react-native-seoul/context-api-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94%EA%B0%80-9ef90247713

[React] 리액트를 처음부터 배워보자. - 05. Context API
이 글을 남기는 계기는 Dan Ambramov의 블로그 Overreacted 를 보며 React.js에 대해 더 깊이 공부할 필요성을 느꼈기 때문이다. 리액트는 기본적으로 데이터를 부모 컴포넌트에서 자식 컴포넌트로 전달하는 단방향 데이터 흐름을 지향한다. 하지만, 컴포넌트를 만들 때 종종 단방향 데이터 흐름보다는 공유되는 데이터 관리 가 필요할 때가 있다.
https://medium.com/react-native-seoul/react-%EB%A6%AC%EC%95%A1%ED%8A%B8%EB%A5%BC-%EC%B2%98%EC%9D%8C%EB%B6%80%ED%84%B0-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90-05-context-api-d053f92cd645
![[React] 리액트를 처음부터 배워보자. - 05. Context API](https://miro.medium.com/max/1200/1*5wgdDOUVUELAXnOYuPV_dQ.jpeg)

Seonglae Cho