본문 바로가기

카테고리 없음

Redux 상태관리

Redux 상태관리의 주요 개념

 

Store: Redux에서 어플리케이션의 전체 상태를 저장하는 객체. 어플리케이션에는 하나의 스토어만 존재해야 한다.

Action: 애플리케이션에서 스토어에 보내는 정보 패키지. 모든 액션은 type 속성을 가져야 하며, 그 외에 필요한 추가 정보를 담을 수 있다.

Reducer: 액션에 의해 애플리케이션 상태가 어떻게 변경될지를 결정하는 함수. 리듀서는 이전 상태와 액션을 받아서 새로운 상태를 반환한다.

 

Redux의 흐름은 다음과 같다.

  1. 액션을 통해 어떤 변화가 필요한지 시스템에게 알린다.
  2. 액션이 스토어로 전달되면, Redux는 해당 액션을 처리할 리듀서를 찾는다.
  3. 리듀서는 액션을 받고, 이전 상태와 함께 호출되어 새로운 상태를 생성한다.
  4. 새로운 상태는 스토어에 저장되며, 변화를 구독하고 있는 컴포넌트들은 새로운 상태를 받아 업데이트된다.

Redux는 MobX, Context API와 같은 다른 상태관리 도구와 비교했을 때, 몇 가지 차이점이 있다.

 

MobX: MobX는 더 자유로운 상태 변화를 허용하며, 자동으로 상태의 변화를 감지하여 반영한다. Redux는 비교적 엄격한 규칙을 가지고 있어, 애플리케이션의 상태 변화를 좀 더 명확하게 관리할 수 있다. 반면에 MobX는 코드가 더 간결하고, 학습 곡선이 덜 가파르다.

Context API: React가 기본적으로 제공하는 Context API는 Redux와 같은 전역 상태 관리를 제공하지만, 복잡한 상태 로직을 관리하기에는 부족할 수 있다. Redux는 미들웨어 지원, 상태 변경 로깅 등의 추가적인 기능을 제공한다.