
Redux는 JavaScript 애플리케이션의 상태 관리를 위한 예측 가능하고 일관성 있는 방법을 제공하는 상태 관리 라이브러리입니다.
주로 React와 함께 사용되며, 다른 라이브러리와 프레임워크에서도 사용할 수 있습니다.
Redux의 핵심 아이디어는 애플리케이션의 상태를 하나의 중앙 저장소에 저장하고 변경을 예측 가능한 방식으로 관리하는 것입니다.
이 상태 저장소는 애플리케이션의 모든 컴포넌트에서 접근 가능하며, 상태 변경은 불변성을 유지하는 방식으로 이루어집니다.
Redux의 주요 구성 요소는 다음과 같습니다:
1. 액션 (Actions)
: 상태 변경을 위해 발생하는 이벤트나 명령을 나타냅니다.
일반적으로 객체 형태로 정의되며, "type" 필드를 포함하여 어떤 유형의 액션이 발생했는지 식별합니다.
2. 리듀서 (Reducers)
: 액션에 따라 상태를 어떻게 변경할지 정의하는 순수 함수입니다.
이전 상태와 액션을 인자로 받아 새로운 상태를 반환합니다. 리듀서는 항상 불변성을 유지하도록 설계되어야 합니다.
3. 스토어 (Store)
: 애플리케이션의 상태를 저장하는 객체입니다.
스토어는 리듀서와 상태를 연결하고, 상태 변경을 구독하고, 상태를 업데이트하는 메서드를 제공합니다.
4. 디스패치 (Dispatch)
: 액션을 발생시키는 메서드로, 스토어에 액션을 전달하여 상태 변경을 트리거합니다.
5. 구독 (Subscription)
: 상태의 변경을 감지하고, 변경이 발생할 때마다 콜백 함수를 호출하는 메커니즘입니다. 애플리케이션에서 상태를 업데이트할 때마다 UI를 업데이트하는 데 사용될 수 있습니다.
Redux는 복잡한 애플리케이션의 상태 관리를 단순화하고, 상태 변경의 추적 및 디버깅을 용이하게 만들어줍니다.
또한 Redux는 시간에 따른 상태의 흐름을 추적하고, 애플리케이션 상태의 일관성을 유지하기 위한 여러 가지 개념과 도구를 제공합니다.
https://redux.js.org/introduction/getting-started
Getting Started with Redux | Redux
Introduction > Getting Started: Resources to get started learning and using Redux
redux.js.org
| [FE 45] _23.07.26 _ Day 74 [타입스크립트를 사용하는 이유] (0) | 2023.07.26 |
|---|---|
| [FE 45] _23.06.21 _ Day 49 ( [React] 상태 관리 ) (0) | 2023.06.21 |
| [FE 45] _23.06.13 _ Day 43 ( [UI/UX] ) (1) | 2023.06.13 |
| [FE 45] _23.06.12 _ Day 42 ( [자료구조/알고리즘] 재귀) (0) | 2023.06.12 |
| [FE 45] _23.06.09 _ Day 41 ( [자료구조/알고리즘] 재귀) (0) | 2023.06.12 |