본문 바로가기

TIL

TIL - Zustand와 Tanstack Query를 이용한 상태 관리

오늘은 개인 프로젝트에서 상태 관리 라이브러리를 RTK(Redux Toolkit)에서 Zustand와 Tanstack Query 조합으로 변경한 이유에 대해 정리합니다.

 

변경 이유

1. Zustand의 장점:

  • 간결함과 단순성: Zustand는 보일러 플레이트 코드가 적고 사용하기 쉬워 빠르게 작업이 가능합니다.
  • 경량화: Zustand는 가벼운 상태 관리 라이브러리로 메모리 소비가 적습니다.
  • 최적화된 렌더링: 필요한 컴포넌트만 업데이트하도록 최적화되어 불필요한 리렌더링을 줄여줍니다.

2. Tanstack Query의 장점:

  • 데이터 패칭 관리: 서버 상태 관리에 최적화되어 있으며, 데이터 패칭, 캐싱, 동기화 등을 자동으로 처리해줍니다.
  • 자동 데이터 리프레시: 데이터가 변경되면 자동으로 최신 상태를 유지하기 위해 데이터를 다시 패칭해줍니다.
  • 병렬 데이터 패칭: 여러 데이터를 병렬로 패칭하여 성능을 향상시킵니다.
  • 보일러 플레이트 감소: RTK의 Thunk와 같은 보일러 플레이트 코드를 줄여줍니다.

결론

  • Zustand: 보일러 플레이트가 적고 가벼우며, 필요한 컴포넌트만 업데이트하도록 최적화되어 있어 빠르고 효율적인 상태 관리가 가능합니다.
  • Tanstack Query: 서버 상태 관리에 특화되어 있으며, 캐싱, 동기화, 자동 데이터 패칭 등의 기능을 통해 성능과 효율성을 극대화합니다.

이 두 라이브러리의 조합은 클라이언트와 서버 상태 관리를 더욱 유연하고 강력하게 만들어줍니다. 이로 인해 RTK에서 Zustand와 Tanstack Query로 전환하게 되었습니다.