본문 바로가기
Front-End/React

[React] Redux란 ?

by 민바이민 2021. 6. 4.

 

리덕스는 리액트 생태계에서 가장 사용률이 높은 상태관리 라이브러리입니다.

리덕스를 사용하면 컴포넌트 상태관리 로직을 다른 파일들로 분리시켜 더욱 효율적으로 관리할 수 있으며, 글로벌 상태관리도 손쉽게 할 수 있습니다.

허나 요즘은 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

댓글