- 일반적으로 전역적으로 필요한 상태(환경설정, 사용자 정보)를 관리해야 할 때는
- 최상위 컴포넌트인 App의 state에 넣고 컴포넌트 간에 props로 전달한다
- [예시]
만약 G 컴포넌트는 전역 상태를 업데이트시키고, F와 J 컴포넌트는 업데이트된 상태를 렌더링 할 경우
- App이 가지고 있는 value를 F에 전달하려는 경우 App->A->B->F의 흐름이고
- G컴포넌트에 상태 업데이트 함수를 전달할 때도 App->A->B->E->G와 같이 복잡한 단계를 여러 번 거쳐서 전달한다
- 결론 : 유지보수성이 상당히 안 좋아진다. (실제 프로젝트는 다루어야 할 데이터가 많다.)
- Context API를 사용하여 Context를 만들어서 단 한 번에 원하는 값을 받아와서 사용
💥createContext(defaultValue)
💥Context.Provider
💥Context.Consumer