swimminginthecode DIVE!

FRONT/React, Vue

React 04

dazz6 2024. 8. 12. 18:00
Redux
상태 관리 라이브러리로 Component별 props/state를 바꿔 주는 복잡한 관계를 redux 하나로 외부에서 state들을 공용으로 관리하여 사용할 수 있다. 

Store, Action, Reducer
Store : 상태가 관리되는 오직 하나의 공간 
Action : 앱에서 스토어에 운반할 데이터
Reducer : Action을 Store에 바로 전달하지 않고 Reduver에 전달, Reducer가 Action을 보고 Store의 상태 업데이트 

Redux의 원칙

1. Single source of truth

- 동일한 데이터는 항상 같은 곳에서 가져온다.

- 즉, 스토어라는 하나뿐인 데이터 공간이 있다는 의미

 

2. State is read-only

- 리액트에서는 setState 메소드를 활용해야하면 상태 변경이 가능하다.

- 리덕스에서도 Action 객체를 통해서만 상태를 변경할 수 있다.

 

3. Changes are made with pure functions

- 변경은 순수함수로만 가능하다.

- Reducer와 연관되는 개념 


Redux 장점 및 사용 권장 
Redux 장점
1. 순수 함수를 사용해 상태를 예측 가능하게 만듦 
2. 유지보수 용이 
3. redux dev tool이 있어 디버깅에 유리 
4. 비동기를 지원하는 Redux Saga, Redux Thunk 등 다양한 미들웨어 존재

 

Redux 사용 권장 상황

- 전역 상태가 필요할 때

- 상태들이 자주 업데이트될 때

- 상태를 업데이트하는 로직이 복잡할 때

- 앱이 크고 많은 사람들에 의해 코드가 관리될 때

- 상태가 업데이트되는 시점을 관찰할 필요가 있을 때

 

 

참고

[Redux] Redux란? (tistory.com)

[리액트] Redux와 사용법. React 상태관리 라이브러리 Redux의 설명과 사용법 | by HE OH | Medium

[React/Redux] Redux 사용법 (1) -State/Action/Reducer/Store (tistory.com)

'FRONT > React, Vue' 카테고리의 다른 글

Vue 01  (0) 2024.08.14
React 05  (0) 2024.08.13
React 03  (0) 2024.08.08
React 02  (0) 2024.08.07
React 01  (0) 2024.08.06