Redux

skj1211·2022년 6월 21일
0

Redux

앱 전체상태를 쉽게 관리하기 위한 라이브러리

redux를 사용하면 좋은 때

  1. 앱 전체의 상태 관리가 필요할 때
  2. 복잡한 비동기 처리가 있는 상태 관리가 필요할 때
  3. 앱의 상태가 복잡할 때 체계적으로 관리하고 싶을 때
  4. 상태관리 패턴을 도입, 여러 개발자와 협업하고 싶을 때

핵심 원칙

Store는 단 하나이고 모든 앱의 상태를 여기에 보관
immutability : 상태는 오로지 읽을 수만 있고 변경하려면 모든 상태가 변경 되어야함
Pure function : 상태의 변경은 어떠한 사이드 이펙트도 만들지 않아야 함

Action

Action은 상태의 변경을 나타내는 개념
어떠한 형태든 상관 없지만 주로 type,payload를 포함하는 JS 객체

Action Creator

Action을 생성하는 함수
Action을 직접 생성하는 것 보다 Action Creator를 활용하며 재사용성이 좋고 하나의 레이어를 추가할 수 있음

Store

앱 전체의 상태를 보관하는 곳
Action에 따라 reducer에서는 새로운 상태를 만들고 Store는 그상태를 저장한다.
Store의 상태는 불변하며 액션이 발생할 때마다 새로운 객체를 만든다.

Reducer

Action을 받아 새로운 State를 만든다.
Reducer에서는 상태를 변경하면 안되고, 새로운 상태를 리턴해야만 한다.
(state, action) => state의 인터페이스를 따른다.
상태 변경시 사이드 이펙트가 없어야 한다.

Dispatch

Action을 redux로 보내는 함수
disPatch 후에 action은 middleware를 거쳐reducer에 도달

Selector

특정 state 조각을 store로 부터 가져오는 함수
store의 state는 raw data를 저장하고 계산된 값 등을 selector로 가져오는 등의 패턴을 구사할 때 유용하다.

0개의 댓글