목록 보기
Context API가 Redux를 대체할 수 있을까요?
프론트엔드

Context API가 Redux를 대체할 수 있을까요?

루닛
루닛
2019년 2월 14일

두줄요약

Context API와 Redux의 역할 및 상태 관리 방식의 차이를 비교했습니다. 고급 상태 추적·재현 기능이 없다면 Context API 활용을 권장합니다.

선택 이유

  • Context API의 Provider·Consumer 기반 선언적 전역 상태 전달
  • 중간 컴포넌트의 props 전달 없이 트리 내 필요한 컴포넌트에서 상태 접근
  • Redux의 Flux 아키텍처·상태 관리 구현체로서의 강점

장단점

  • Context API 전환 시 코드 면적 축소와 팀 내 이해도 향상
  • Redux의 높은 학습 난도와 전역 상태 관리만을 위한 번잡함
  • 리듀서 분리와 다중 Context HOC로 Redux 일부 패턴 활용 가능

트레이드오프

  • 상태 영속화·서버 렌더링 초기 상태 복원·액션 직렬화·재현 가능한 버그 리포트에 적합한 Redux
  • 협업 환경, 실행취소, 낙관적 변경, 상태 이력과 개발자 도구 제어에 유리한 Redux
  • 해당 요구가 없을 때 Context API 중심 전역 상태 관리 선택

적용해볼 점

  • 특별한 Redux 기능 요구 여부를 기준으로 상태 관리 도구 선택
  • 단순 전역 상태는 Context API로 구성하고 필요한 Redux 패턴만 부분 도입

다음 읽기

#Redux 주제를 이어서 읽기

당신에게 Redux는 필요 없을지도 모릅니다.

Redux의 제약이 상태 영속화, 재현, 협업, 개발자 도구에 주는 이점을 설명했습니다. 명확한 필요가 없다면 React 지역 상태를 우선하고 점진적으로 도입할 것을 권고합니다.

루닛
루닛
프론트엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...