
React 상태 관리 Context API에 대해 알아보겠습니다.

state에 넣어서 관리 (Props로 전달)value 값을 F 컴포넌트와 J 컴포넌트에 전달하려면 여러 컴포넌트를 거쳐야 함 App -> A -> B-> F, J의 경우 App -> H-> J의 흐름App -> A -> B-> E -> G 와 같이 복잡… const [value, setValue] = useState('ppby');
const onSetValue = useCallback(value => setValue(value),[])
Context API를 사용하면 Context 를 만들어 단 한번에 원하는 값을 받아와서 사용
ColorContext 안에 들어 있는 Consumer 라는 컴포넌트를 통해 색상을 조회 (ColorContex 는 createContext를 통해 만든다.)
Consumer 사이에 종괄호를 열어서 그 안에 함수를 넣어 줌) 이러한 패턴을 Function as a child, 혹은 Render Props 라고 한다.Provider 를 사용하면 Context 의 value 를 변경할 수 있다.value 를 명시해 줘야 함Context 의 value 에는 무조건 상태 값만 있어야 하는 것은 아님state 업데이트 함수는 actions 로 묶어서 Provider 의 value 에 전달state 와 actions 객체를 분리해 두면 다른 컴포넌트에서 Context 값을 사용할 때 편함)cteateContext 의 기본 값은 실제 Provider 의 value 에 넣는 객체의 형태와 일치시켜 주는 것이 좋다.Context 내부 값 파악하기 쉽고, 실수로 Provider 를 사용하지 않았을 때 기본 값이 들어가 오류가 발생하지 않는다.children 에 함수를 전달하는 Render Props 패턴이 불편하다면, useContext Hook 사용 추천Context 에 넣어 둔 함수를 호출할 수 있다.