TIL
TIL - Zustand와 Tanstack Query를 이용한 상태 관리
RRWW
2024. 6. 27. 18:26
오늘은 개인 프로젝트에서 상태 관리 라이브러리를 RTK(Redux Toolkit)에서 Zustand와 Tanstack Query 조합으로 변경한 이유에 대해 정리합니다.
변경 이유
1. Zustand의 장점:
- 간결함과 단순성: Zustand는 보일러 플레이트 코드가 적고 사용하기 쉬워 빠르게 작업이 가능합니다.
- 경량화: Zustand는 가벼운 상태 관리 라이브러리로 메모리 소비가 적습니다.
- 최적화된 렌더링: 필요한 컴포넌트만 업데이트하도록 최적화되어 불필요한 리렌더링을 줄여줍니다.
2. Tanstack Query의 장점:
- 데이터 패칭 관리: 서버 상태 관리에 최적화되어 있으며, 데이터 패칭, 캐싱, 동기화 등을 자동으로 처리해줍니다.
- 자동 데이터 리프레시: 데이터가 변경되면 자동으로 최신 상태를 유지하기 위해 데이터를 다시 패칭해줍니다.
- 병렬 데이터 패칭: 여러 데이터를 병렬로 패칭하여 성능을 향상시킵니다.
- 보일러 플레이트 감소: RTK의 Thunk와 같은 보일러 플레이트 코드를 줄여줍니다.
결론
- Zustand: 보일러 플레이트가 적고 가벼우며, 필요한 컴포넌트만 업데이트하도록 최적화되어 있어 빠르고 효율적인 상태 관리가 가능합니다.
- Tanstack Query: 서버 상태 관리에 특화되어 있으며, 캐싱, 동기화, 자동 데이터 패칭 등의 기능을 통해 성능과 효율성을 극대화합니다.
이 두 라이브러리의 조합은 클라이언트와 서버 상태 관리를 더욱 유연하고 강력하게 만들어줍니다. 이로 인해 RTK에서 Zustand와 Tanstack Query로 전환하게 되었습니다.