처음 만난 리덕스 (Redux) 문서


1.5 꼭 Redux를 써야할까?

그렇다면 상태관리를 위해 다른 라이브러리가 아닌 꼭 Redux를 써야할까요?
먼저 다른 상태관리 라이브러리에는 어떤 것들이 있는지 알아보도록 하겠습니다.

요즘은 조금 잠잠하지만 한 때 Redux와 항상 비교되었던 MobX라는 상태 관리 라이브러리가 있습니다.
Observable state라는 것을 만들어서 상태 관리를 하는 방식이며,
MobX는 몇년 전에 비해서 요즘은 언급되는 비중이 조금 줄어드는 추세입니다.

다음으로 나오는 상태관리 라이브러리는 Recoil입니다.
리액트를 만든 Meta에서 만든 라이브러리이며, 그만큼 리액트와 궁합이 잘 맞도록 개발되었습니다.
Redux의 복잡함에 지친 영혼들을 달래주는 존재로 떠오르고 있는 일종의 피난처(?)라고 할 수 있겠네요.

다음으로 소개할 상태관리 라이브러리는 Zustand입니다.
Zustand는 독일어로 ‘상태’라는 뜻을 갖고 있습니다. 그래서 발음도 정확히 하자면 ‘슈스탄트’가 됩니다.
Zustand는 리액트와 관련된 오픈소스 활동을 활발히 하고 있는 Poimandres라는 곳에서 개발한 라이브러리이며, Redux에 비해 사용하기 쉽고 심플하다는 장점이 있습니다.

마지막으로 소개할 상태관리 라이브러리는 Jotai(죠타이)입니다.
앞에서 나왔던 Zustand가 독일어로 ‘상태’라는 뜻이었다면, Jotai는 일본어로 ‘상태’라는 뜻을 갖고 있습니다.
Jotai는 Recoil과 유사하며 리액트에서 발생하는 추가적인 리렌더링 이슈를 해결하기 위해서 탄생했다고 합니다.

npm trend

지금 보시는 차트는 앞에서 소개한 대표적인 상태 관리 라이브러리들의 npm trend를 나타낸 것입니다.
역사와 전통을 자랑하는 Redux가 압도적으로 상위권에 위치한 것을 볼 수 있으며, 뒤를 이어 Zustand가 MobX를 따돌리고 빠르게 올라오는 것을 볼 수 있습니다.
그리고 하위권에 Recoil과 Jotai가 자리잡고 있습니다.

이 트렌드를 보면 어떤 상태관리 라이브러리를 사용하든지, Redux는 일단 필수적으로 한 번 써보고 넘어가야 한다는 사실을 알 수 있습니다.
상태관리 라이브러리의 살아있는 조상님 같은 존재이기 때문이죠.

Redux가 처음에는 조금 복잡하게 느껴질 수 있지만, Redux를 먼저 학습하고 난 이후에 다른 상태 관리 라이브러리를 사용한다면 더 쉽게 이해하고 사용할 수 있을 것입니다.
그리고 각각의 상태관리 라이브러리들이 탄생하게 된 이유와 목적이 모두 다르기 때문에 개발하려는 프로젝트에 맞게 선택해서 사용하는 것을 추천합니다.


마지막 업데이트: 2023년 07월 14일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.