Redux는 상태 관리 라이브러리로서, React와 함께 사용되는 것이 일반적입니다. Redux의 주요 기능은 다음과 같습니다:
-
단일 소스의 상태 저장: Redux는 애플리케이션의 상태를 하나의 “store”에 저장합니다. 이 store에는 모든 컴포넌트에서 접근할 수 있는 상태 데이터가 저장됩니다. 이를 통해 애플리케이션의 상태를 효율적으로 관리할 수 있습니다.
-
상태 변경을 위한 일관성 있는 방법 제공: Redux는 모든 상태 변경을 “액션”이라고 하는 객체로 표현합니다. 액션은 상태를 변경하는 요청을 기술하는데 사용됩니다. 이러한 일관성 있는 방법을 통해 상태 변경을 추적하고 디버깅할 수 있습니다.
-
불변성 유지: Redux는 상태를 불변하게 유지합니다. 이는 상태를 직접 수정하는 것이 아니라 새로운 상태 객체를 생성하여 변경하는 방식을 사용합니다. 이를 통해 상태의 불변성을 보장하고 예측 가능한 상태 변화를 유지할 수 있습니다.
-
상태 변화에 대한 예측 가능성: Redux는 “리듀서”라고 하는 순수 함수를 사용하여 액션에 대한 상태 변화를 처리합니다. 이러한 함수는 현재의 상태와 액션을 입력으로 받아 새로운 상태를 반환합니다. 이를 통해 상태 변화를 예측 가능하게 유지할 수 있습니다.
-
Middleware 지원: Redux는 미들웨어를 통해 액션과 리듀서 사이의 추가 로직을 구성할 수 있습니다. 이를 통해 비동기 작업이나 로깅, 에러 처리 등의 기능을 구현할 수 있습니다.
이러한 Redux의 주요 기능을 활용하여 상태 관리를 효율적으로 처리할 수 있으며, React와의 결합을 통해 강력한 UI 개발을 할 수 있습니다.
참고 자료:
- Redux 공식 문서: https://redux.js.org/
- Velopert님의 Redux 강의: https://velog.io/@velopert/Redux-1-%EC%8B%9C%EC%84%B1%EC%84%A4