리덕스는 리액트 생태계에서 가장 사용률이 높은 상태관리 라이브러리입니다.
리덕스를 사용하면 컴포넌트 상태관리 로직을 다른 파일들로 분리시켜 더욱 효율적으로 관리할 수 있으며, 글로벌 상태관리도 손쉽게 할 수 있습니다.
허나 요즘은 Context API + useReducer를 사용해서도 상태 관리를 할 수 있습니다.
❓ Context를 쓰는 거랑 어떤 차이점이 있을까?
1.미들웨어
- 특정 조건에 따라 액션이 무시되게 만들 수 있습니다.
- 액션을 콘솔에 출력하거나, 서버쪽에 로깅을 할 수 있습니다.
- 액션이 디스패치 됐을 때 이를 수정해서 리듀서에게 전달되도록 할 수 있습니다.
- 특정 액션이 발생했을 때 이에 기반하여 다른 액션이 발생되도록 할 수 있습니다.
- 특정 액션이 발생했을 때 특정 자바스크립트 함수를 실행시킬 수 있습니다.
💡 주요 사용 용도 : 비동기 작업을 더욱 체계적으로 관리가 가능합니다.
2. 유용한 함수와 Hooks를 지원받을 수 있다.
- connect
- useSelector
- useDispatch
- useStore
3. 기본적인 최적화가 이미 되어있다.
4. 하나의 커다란 상태
모든 글로벌 상태를 하나의 커다란 객체에 넣어서 사용한다. 그래서 매번 컨텍스트를 만드는 수고스러움을 줄여준다.
5. DevTools
변화나 상태를 볼 수 있고, 상태를 되돌릴 수도 있다.
6. 이미 사용중인 프로젝트가 많다.
💡 리덕스는 언제 써야할까?
프로젝트의 규모가 큰가요 ?
- Y - Redux, N - Context API
비동기 작업을 자주하나요?
- Y - Redux, N - Context API
리덕스가 편하게 느껴지나요?
- Y - Redux, N - Context API or MobX
'Front-End > React' 카테고리의 다른 글
[React] 리덕스 모듈 만들기 (0) | 2021.06.04 |
---|---|
[React] Redux 사용하기 (0) | 2021.06.04 |
[React] react-router-dom switch, NavLink (0) | 2021.06.04 |
[React] react-route-dom withRouter (2) | 2021.06.04 |
[React] react-route-dom history (0) | 2021.06.03 |
댓글