오늘은 개인 프로젝트에서 상태 관리 라이브러리를 RTK(Redux Toolkit)에서 Zustand와 Tanstack Query 조합으로 변경한 이유에 대해 정리합니다.
변경 이유
1. Zustand의 장점:
- 간결함과 단순성: Zustand는 보일러 플레이트 코드가 적고 사용하기 쉬워 빠르게 작업이 가능합니다.
- 경량화: Zustand는 가벼운 상태 관리 라이브러리로 메모리 소비가 적습니다.
- 최적화된 렌더링: 필요한 컴포넌트만 업데이트하도록 최적화되어 불필요한 리렌더링을 줄여줍니다.
2. Tanstack Query의 장점:
- 데이터 패칭 관리: 서버 상태 관리에 최적화되어 있으며, 데이터 패칭, 캐싱, 동기화 등을 자동으로 처리해줍니다.
- 자동 데이터 리프레시: 데이터가 변경되면 자동으로 최신 상태를 유지하기 위해 데이터를 다시 패칭해줍니다.
- 병렬 데이터 패칭: 여러 데이터를 병렬로 패칭하여 성능을 향상시킵니다.
- 보일러 플레이트 감소: RTK의 Thunk와 같은 보일러 플레이트 코드를 줄여줍니다.
결론
- Zustand: 보일러 플레이트가 적고 가벼우며, 필요한 컴포넌트만 업데이트하도록 최적화되어 있어 빠르고 효율적인 상태 관리가 가능합니다.
- Tanstack Query: 서버 상태 관리에 특화되어 있으며, 캐싱, 동기화, 자동 데이터 패칭 등의 기능을 통해 성능과 효율성을 극대화합니다.
이 두 라이브러리의 조합은 클라이언트와 서버 상태 관리를 더욱 유연하고 강력하게 만들어줍니다. 이로 인해 RTK에서 Zustand와 Tanstack Query로 전환하게 되었습니다.
'TIL' 카테고리의 다른 글
TIL - TanStack Query 무한 스크롤 커스텀 훅 리팩토링 (0) | 2024.06.29 |
---|---|
TIL - Supabase에서 .select() 사용하기 (0) | 2024.06.28 |
TIL - 배럴 파일 구조를 통한 효율적인 컴포넌트 관리 (0) | 2024.06.26 |
TIL - 개인 프로젝트, 영화 추천 사이트 - 1 (0) | 2024.06.25 |
TIL - JavaScript 메모리 구조와 React 메모리 관리 (0) | 2024.06.24 |