React의 내장 훅 중 하나인 useContext를 이해하기 위해 쓰는 글
React 공식 문서는 아래와 같이 설명한다.
useContext is a React Hook that lets you read and subscribe to context from your component.
컴포넌트로부터의 context를 구독하고 읽을 수 있게 해주는 훅이다..?
React에서 말하는 context는 컴포넌트 트리 전체에 걸쳐 전역적으로 데이터를 공유할 수 있게 해주는 메커니즘을 의미한다고 한다.
보통 컴포넌트는 부모에서 자식으로 props를 통해 전달하지만, 컴포넌트가 깊게 중첩되어 있거나 많을 때는 prop drilling이 발생한다.
context는 이 문제를 해결하기 위해 만들어진 기능!
context의 역할은
특정 데이터를 전역적으로 관리하며, 트리 구조 안의 모든 컴포넌트에 직접 접근할 수 있도록 만들어주는 React의 내장 API이다!
1. createContext()를 정의하기

2. 상태를 사용할 컴포넌트 상위에서 Provider로 감싸주기


3. 하위 컴포넌트에서 상태 가져와 사용

역할별로 context를 나누는 방식으로 구현한다!

작은 프로젝트를 할 때는 Context를 역할별로 나누고 사용해도 좋지만,
규모가 커짐으로써 Redux, Zustand, Recoil 같은 상태 관리 라이브러리를 사용함으로써 더 효율적으로 코드를 작성할 수 있다!