React에서 상태 관리 라이브러리 선택 장애 왔어요
지금까지 작은 프로젝트는 useState + useContext로 충분했는데, 이번에 규모가 좀 있는 앱을 만들면서 Redux Toolkit vs Zustand vs Jotai 중에 고민 중입니다. Redux는 러닝커브가 있고 보일러플레이트가 많다는 얘기가 있어서 꺼려지고, Zustand는 가볍다고 들었는데 커뮤니티 규모가 작아서 문제 생기면 답이 없을까 걱정되네요. Jotai는 Recoil 대체제로 뜨고 있다는데 아직 안정적인지 모르겠고요. 실무에서 써보신 분들 조언 부탁드립니다.
4 개의 답변
Zustand 강력 추천합니다. 저도 비슷한 고민 하다가 Zustand 선택했는데, 러닝커브 거의 없고 코드도 직관적이에요. 커뮤니티 규모가 작다고는 하지만 공식 문서랑 예제가 잘 되어 있어서 문제 생겼을 때 해결하는 데 어려움 없었어요. Redux는 확실히 보일러플레이트가 많아서 작은 팀에서는 오버헤드가 크더라고요.
저도 비슷한 고민으로 1년 넘게 Redux 썼다가 최근에 Zustand로 갈아탔는데요... 확실히 코드량이 1/3로 줄었어요. 근데 진짜 규모가 크면 Redux의 strict한 패턴이 오히려 팀 협업에 도움될 때도 있어요. 시간 여유 되면 각각 투두리스트라도 만들어보고 결정하시는 걸 추천드려요.
저는 Redux Toolkit 쓰고 있는데, 요즘은 createSlice로 보일러플레이트 많이 줄었어요. 규모 있는 앱이면 Redux DevTools 디버깅이 정말 강력해서 장기적으로 유지보수할 때 좋습니다. Zustand도 나쁘지 않지만 상태 추적이 불편할 때가 있더라고요. 프로젝트 규모와 팀원들의 러닝커브 감수 여부에 따라 선택하세요.
Jotai 써보고 있는데, Recoil보다 확실히 가볍고 안정적이에요. React 18의 concurrent mode랑도 잘 맞고, atom 단위로 쪼개니까 리렌더링 최적화도 자연스럽게 됩니다. 다만 복잡한 비즈니스 로직이 많다면 미들웨어 지원이 부족한 게 단점이에요. 작은 규모면 Zustand, 중대형이면 Redux Toolkit이 무난합니다.