177일차 - 리덕스를 사용했을때 장/단점 + Redux Toolkit

김민찬·2021년 11월 3일
0

취업으로의 여정

목록 보기
182/196

리덕스의 장/단점

리덕스의 장점

  • 많은 사용자들이 동시에 다양한 작업을 하는 페이스북 같은 서비스에서 힘을 발휘한다. 다른 기기에서 다른 사용자들이 실행하는 액션을 받아 로컬의 작업과 병합해 보여준다.
  • 사용자가 어떤 액션을 했고, 어떤 데이터가 어떻게 변경되었는지 쉽게 관찰할 수 있다.(시간 여행 기능)

아래 GIF를 보면 왜 시간 여행이라고 하는지 알 수 있다.


cloudi라고 하는 팀 프로젝트이다.
프로젝트를 진행하면서 Redux를 사용해서 시간 여행을 가능하게 되었다.

이는 단순해 보이지만 디버깅면에서 엄청난 도움을 준다.

storestate들의 변화를 한 눈에 볼 수 있어서 뭐가 잘못되었는지, 어떻게 잘못되었는지 한 눈에 알 수 있게 해준다.

리덕스의 단점

  • 하나의 리듀서에서 관리하는 상태가 커지고, 세부적인 업데이트가 늘어날 수록 불변성을 지키기 위해서 ...state 를 사용하는 것도 꽤 번거롭다.
  • 아주 작은 기능이라도 리덕스로 구현하는 순간 몇 개의 파일들을 "필수로" 만들어야 한다.
  • 보일러 플레이트 코드(액션 타입, 액션 생성함수, 리듀서)를 많이 준비해야 한다.

Redux Toolkit

위와 같은 단점들 때문에 등장한 것이 바로 Redux Toolkit이다.

리덕스 툴킷의 장점

  • Redux Toolkit을 사용하면 리듀서, 액션타입, 액션 생성함수, 초기상태를 하나의 함수로 편하게 선언할 수 있다. 이 4가지를 통틀어서 slice 라고 부른다.
  • 불변성을 유지하기 위하여 번거로운 코드들을 작성하지 않고, 원하는 값을 직접 변경하면 알아서 불변성이 유지되면서 상태가 업데이트 된다.

리덕스 툴킷에 대해 더 공부하고 싶으면 이 링크를 추천한다. TODO카운터 예제를 리덕스와 리덕스 툴킷 두 가지로 구현했는데, 차이를 비교할 수 있다.

보일러플레이트 코드: 컴퓨터 프로그래밍에서 보일러플레이트 코드는 최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드를 말한다.
어원 - 신문사업에서 나왔다. 1890년대에 광고나 칼럼과 같이 계속 사용되는 텍스트 인쇄판은 납 대신 강철로 찍기 시작했다. 이를 보일러플레이트라고 불렀다.

참고자료

velopert - redux
이브라히모비치 - Redux의 진짜 강점과 단점
Charlezz - 보일러플레이트 코드란?

profile
두려움 없이

0개의 댓글