Library

Redux

Jinny96 2022. 12. 20. 13:40

Redux

  • Redux는 JavaScript 상태 관리 라이브러리이다.
  • Redux의 본질은 Node.js 모듈이다.

redux


Redux의 기본 원칙

1. Single source of truth

  • 동일한 데이터는 항상 같은 곳에서 가지고 온다.
  • 스토어라는 하나뿐인 데이터 공간이 있다는 의미이다.

2. State is read-only

  • 리액트에서는 setState를 활용해야만 상태 변경이 가능하다.
  • 리덕스에서도 액션이라는 객체를 통해서만 상태를 변경할 수 있다.

3. Changes are made with pure functions

  • 변경은 순수함수로만 가능하다.
  • 리듀서와 연관되는 개념이다.
  • Store(스토어) – Action(액션) – Reducer(리듀서)

Store

Store에서 상태를 관리하고 오직 하나만 존재한다.

  • 컴포넌트와는 별개로 스토어라는 공간이 있어서 그 스토어 안에 앱에서 필요한 상태를 담는다.
  • 컴포넌트에서 상태 정보가 필요할 때 스토어에 접근한다.

Action

  • Action은 앱에서 Store에 운반할 데이터를 말한다.
  • Action은 자바스크립트 객체 형식으로 되어있다.

Reducer

  • Action을 Store에 바로 전달하는 것이 아니다.
  • Action을 Reducer에 전달해야한다.
  • Reducer가 주문을 보고 Store의 상태를 업데이트하는 것이다.
  • Action을 Reducer에 전달하기 위해서는 dispatch()를 사용해야한다.