이번 장에서 배운 내용은 아래와 같습니다.
props
를 통해 전달하는 것이 아닌, 컴포넌트 트리를 통해 곧바로 데이터를 전달하는 방식Provider
의 모든 하위 컴포넌트가 얼마나 깊이 위치해 있는지 관계없이 컨텍스트의 데이터를 읽을 수 있음props
를 통해 데이터를 전달하는 것이 더 적합React.createContext()
undefined
를 넣으면 기본값이 사용되지 않음Context.Provider
Provider
라는 컴포넌트를 갖고 있음Provider
컴포넌트로 하위 컴포넌트들을 감싸주면 모든 하위 컴포넌트들이 해당 컨텍스트의 데이터에 접근할 수 있게 됨Provider
에는 value
라는 prop
이 있으며, 이것이 데이터로써 하위에 있는 컴포넌트들에게 전달됨Provider
컴포넌트를 중첩시켜 사용할 수 있음Class.contextType
Provider
하위에 있는 클래스 컴포넌트에서 컨텍스트의 데이터에 접근하기 위해 사용Context.Consumer
Provider
컴포넌트는 여러 개의 consuming 컴포넌트와 연결될 수 있음Provider
가 없을 경우 기본값이 사용됨Context.displayName
Provider
컴포넌트와 Consumer
컴포넌트를 여러 개 중첩해서 사용하면 됨useContext()
React.createContext()
함수 호출로 생성된 컨텍스트 객체를 인자로 받아서 현재 컨텍스트의 값을 리턴useContext()
훅을 사용하는 컴포넌트가 재렌더링됨Context를 사용하면 데이터를 Component Tree를 통해 곧바로 하위 컴포넌트로 전달할 수 있습니다. 데이터를 무조건 props
를 통해서 전달하는 것보다, Context를 사용하여 깔끔하게 처리할 수 없을지 고민해보고 나중에 실제로 프로젝트에 적용해보기 바랍니다.
마지막 업데이트: 2025년 08월 21일 09시 05분
이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.
On this page