Redux


redux

Store : 애플리케이션의 상태를 보유하고 관리하는 하나의 공간
Action : 애플리케이션에서 스토어에 운반할 데이터(객체 형태)
Reducer : 현재 상태와 액션을 받아서 새로운 상태를 반환하는 순수 함수

자바스트립트 상태 관리 라이브러리


  • Single source of truth : 전체 상태는 하나의 중앙 저장소(단일 소스)에 저장된다.
  • State is read-only : 액션이라는 객체를 통해서만 상태를 변경할 수 있다. (불변성 유지)
  • Changes are made with pure functions : 변경은 순수함수로만 가능하다.



사용

  • 전역 상태가 필요할 때
  • 상태가 자주 업데이트 될 때
  • 상태를 업데이트하는 로직이 복잡할 때
  • 애플리케이션이 클 때
  • 상태가 업데이트되는 시점을 관찰해야 할 때



장점

  • 중앙 집중화된 상태 관리
  • 불변성
  • 시간 여행 디버깅
  • 컴포넌트 간 데이터 공유
  • 테스트 용이성



단점

  • 복잡성 (작은 규모에 부적합)
  • 설정 및 사용 코드 필요
  • 오버헤드