리덕스

정영찬·2022년 3월 9일
0

리액트

목록 보기
48/79

리덕스

컴포넌트들의 상태 관련 로직들을 다른 파일들로 분리시켜서 더욱 효율적으로 관리 할수 있으며 글로벌 상태 관리도 손쉽게 할 수 있다. Redux는 ContextAPI가 지금의 형태로 사용방식이 개선 되기도 전에 만들어진 라이브러리이다.

리덕스와 ContextAPI의 차이점

미들웨어

미들웨어를 사용하면 다음과 같은 작업을 수행할 수 있다.

  • 특정 조건에 따라 액션이 무시되게 만들 수 있다.
  • 액션을 콘솔에 출력하거나, 서버쪽에 로깅할수 있다.
  • 액션이 디스패치 됐을 때 이를 수정해서 리듀서에게 전달 되도록 할 수 있다.
  • 특정 액션이 발생했을 때 이에 기반하여 다른 액션이 발생 되도록 할 수 있다.
  • 특정 액션이 발생했을 때 특정 자바스크립트 함수를 실행시킬 수 있다.

유용한 함수와 ,Hooks

connect함수를 사용하면 리덕스의 상태 또는 액션 생성 함수를 컴포넌트의 props로 받아올 수 있으며, useSelector, useDistpatch, useStore 과 같은 Hooks를 사용하면 손쉽게 상태를 조회하거나 액션을 디스패치 할 수도 있다. connect함수와 useSelector함수는 내부적으로 최적화가 잘 이루어져있어서 실제 상태가 바뀔 때만 컴포넌트가 리렌더링된다.

하나의 커다란 상태

모든 글로벌 상태를 하나의 커다란 상태 객체에 넣어서 사용하기 때문에 매번 context를 새로 만드는 수고로움을 덜수 있다.

※ 리덕스, 언제 쓸까?
프로젝트 규모가 크고, 비동기 작업을 자주하며, 결정적으로 리덕스 사용하기가 편하면.

profile
개발자 꿈나무

0개의 댓글