기업협업을 나왔을 때 전역상태관리 라이브러리로 리덕스 툴킷을 사용한다는 얘기를 사수분께 들었다. 처음 리덕스라고 들었을 때 그냥 전역상태해주는 편리한 툴이라고 만만하게 봤었다가 실제로 사용해보며 러닝커브가 꽤 높다는 것을 느꼈다.
Redux Toolkit은 Redux를 더 사용하기 쉽게 만들기 위해 Redux에서 공식 제공하는 개발도구이다. Redux Toolkit은 아래와 같은 Redux의 문제점을 보완하기 위해 등장하였다.
실제로 리덕스로 전역상태관리를 하기 위해서는
1. 액션타입정의
2. 액션함수생성
3. 리듀서 생성
4. 스토어 생성
5. 스토어에 리듀서 등록
6. Provider 태그에 Store 프롭스 등록이 단계를 거쳐야 각 컴포넌트에서 전역으로 관리되는 상태들을 useSelector 훅을 통해 끌고와 사용할 수 있다. 많아지는 액션을 관리하기 위해 redux-actions을, 불변성 보존을 위한 immer, store값을 효율적으로 핸들링하여 불필요한 리렌더링을 막기 위해 reselect, 비동기 작업을 위한 thunk 와 saga 등 리덕스의 유효한 기능을 사용하기 위해 4~5개의 라이브러리를 사용해야 했다.하지만 Redux Toolkit은 내장된 기능으로 saga를 제외한 위의 모든 기능을 제공한다.
맨처음 이 리덕스의 덕스구조를 이해하고 활용해보며 투두리스트 CRUD를 만드는데 5일의 시간이 걸렸던 것 같다.
ducks구조의 리덕스로 투두리스트를 한번 만들어 보고난 후에 리덕스 툴킷을 활용해 투두리스트를 구현해보니 훨씬 간단해진 것을 느낄 수 있었다. 실제로 리덕스 툴킷 공식사이트를 가보면 심플
이라고 가장 첫번째로 적혀있다.
내가 프로젝트를 진행하며 느낀 리덕스 툴킷의 장점으로는
하지만
리덕스 툴킷에서는 (2)번 처리를 알아서 해주기 때문에 굳이 spread
연산자나 concat
을 사 용하지 않아도 된다는 편리성 또한 가지고 있다.이와 같이 총 3가지가 있다.