Library
Redux
Jinny96
2022. 12. 20. 13:40
Redux
- Redux는 JavaScript 상태 관리 라이브러리이다.
- Redux의 본질은 Node.js 모듈이다.
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()를 사용해야한다.