React 상태 관리

Zustand vs MobX

어떤 상태 관리를 쓸까?

기본

ZustandMobX
주간 다운로드5058만367만
최근 릴리스73일 전10일 전
유지보수활발활발
열린 이슈567

유지보수 상태는 최근 릴리스 간격만으로 판정합니다 (90일 이내 활발 · 270일 이내 둔화 · 그 이상 정체).

쓰다 보면 만나는 것

Zustand

  • 거슬림

    persist 미들웨어를 SSR 프레임워크와 같이 쓰면 하이드레이션 불일치가 난다

    서버는 초기값으로 렌더하고 클라이언트는 localStorage 복원값으로 그리기 때문에 Next.js 등에서 hydration mismatch 에러가 난다. 2022년부터 반복 보고됐고 2026년에도 같은 주제의 해설 글이 나온다. 라이브러리 결함이라기보다 브라우저 상태 도구와 서버 렌더의 구조적 긴장으로, skipHydration 옵션·useSyncExternalStore·쿠키 이전 등으로 우회 설계가 필요하다.

    2026-08 · 미해결

MobX

  • 거슬림

    mobx-react/mobx-react-lite의 observer HOC가 React Compiler의 메모이제이션 규칙과 어긋나, react-compiler-healthcheck가 비호환 라이브러리로 표시하고 컴파일러가 해당 컴포넌트를 최적화 대상에서 건너뛴다.

    observer는 반응형 추적을 위해 컴포넌트를 HOC로 감싸는데, 이 패턴이 React Compiler가 전제하는 컴포넌트 순수성·의존성 규칙을 따르지 않아 컴파일러가 해당 컴포넌트를 최적화하지 못하고 건너뛴다. 아직 eslint-plugin-react-hooks 린트가 mobx observer를 자동 감지하지 못하는 상태라, 문제가 나면 수동으로 "use no memo" 지시어를 붙이거나 HOC 대신 훅 기반 관찰 방식으로 옮기는 우회가 필요하다. 두 출처는 같은 증상(observer HOC가 컴파일러 최적화와 충돌)을 말하며, 후자는 이를 비호환 라이브러리 감지 대상으로 다룬 시점을 확인해 준다.

    2025-09 · 미해결

이럴 땐 이걸

  • 보일러플레이트 최소·빠른 시작 Zustand

문서 바로가기