TIL #21

김태훈·2023년 3월 4일
0

TIL

목록 보기
19/35

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

세 가지 원칙

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은 앱에서 스토어에 운반할 데이터를 말한다.
-Action은 자바스크립트 객체 형식으로 되어있다.

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

Redux에서 위 개념을 구현하기 위해서 mapStateToProps()와 Redux hooks(useSelector, useDispatch)를 이용할 수 있다.

Redux의 장점
-상태를 예측 가능하게 만든다.
-유지보수
-디버깅
-테스트

profile
개발자(진)

0개의 댓글