본문 바로가기
TIL/Today I Learned

[TIL] 23.07.21 Today I Learned

by 임성장 2023. 7. 23.
728x90

요약: redux

일시: 23.07.21

장소: 더휴먼컴퓨터아트아카데미

배운 점

Redux

JavaScript 애플리케이션의 상태 관리를 위한 예측 가능한(stateful) 상태 컨테이너 라이브러리

React와 함께 주로 사용되지만, React에 국한되지 않고 다른 프레임워크와도 함께 사용할 수 있음.

Redux의 주요 특징과 개념

1. **상태 단일 저장소(State Store)**:
   - Redux는 애플리케이션의 모든 상태 데이터를 하나의 큰 상태 트리(또는 단일 저장소)로 관리
   - 상태 트리는 읽기 전용(immutable)으로, 상태를 변경하기 위해서는 새로운 상태 객체를 반환하는 방식으로 처리

2. **액션(Action)**:
   - 애플리케이션에서 상태 변화를 일으키기 위해 발생하는 이벤트를 나타내는 객체
   - 액션은 `type` 필드를 가져야 하며, 해당 액션의 종류를 식별하는 문자열 값
   - 때로는 액션에 추가적인 데이터(payload)를 포함하여 상태 변화에 필요한 정보를 제공

3. **리듀서(Reducer)**:
   - 리듀서는 현재 상태(state)와 액션(action)을 받아서 다음 상태를 반환하는 순수 함수
   - 애플리케이션의 모든 상태 변화 로직이 리듀서 함수에 정의
   - 리듀서는 이전 상태를 변경하지 않고, 새로운 상태 객체를 생성하여 반환

4. **디스패치(Dispatch)**:
   - 디스패치는 액션을 발생시키는 메서드로, 리듀서에게 상태 변화를 요청
   - 액션을 디스패치하면 리듀서가 호출되어 새로운 상태가 계산되고 상태 트리가 업데이트

5. **구독(Subscribe)**:
   - 상태의 변화를 감지하고 처리하기 위해 리스너를 등록하는 메서드
   - 상태가 변경될 때마다 등록된 리스너들이 호출되어 UI 등을 업데이트하는 데 사용

Redux는 상태 관리를 예측 가능하고 효율적으로 만들어주는 강력한 도구로서, 복잡한 애플리케이션에서도 유용하게 활용

상태의 변화가 일어날 때마다 상태 트리를 따라 데이터가 흐르기 때문에 애플리케이션의 상태를 추적하고 디버깅하기 용이

 

부족한 점:

728x90