본문 바로가기
🖥️ Frontend/frontend+

🌸 React Query & Zustand 🌸

by 정람지 2024. 8. 19.

🌸 상태관리 라이브러리 

상태관리 라이브러리는 웹 또는 모바일 애플리케이션에서 사용자 인터페이스(UI)의 상태를 효율적으로 관리하고, 애플리케이션의 다양한 컴포넌트 간에 상태를 쉽게 공유하며, 상태 변화를 추적하고 조작하는 데 도움을 주는 도구

이러한 라이브러리들은 대규모 애플리케이션의 복잡성을 관리하고, 데이터 흐름을 예측 가능하게 만드는 데 큰 역할

 

 

Overview | TanStack Query React Docs

TanStack Query (FKA React Query) is often described as the missing data-fetching library for web applications, but in more technical terms, it makes fetching, caching, synchronizing and updating server state in your web applications a breeze. Motivation Mo

tanstack.com

 

 

Zustand

 

zustand-demo.pmnd.rs

리액트 쿼리 (React Query)

리액트 쿼리는 서버 상태 관리를 위해 사용되는 라이브러리

이 라이브러리는 데이터 fetching, caching, synchronization 및 업데이트를 자동화하여 개발자가 서버 상태와 관련된 복잡성을 줄일 수 있게 도와줌

 

주요 기능:

  1. 자동 재요청: 데이터가 오래되었거나 네트워크 상태가 바뀌었을 때 자동으로 데이터를 새로 고칩니다.
  2. 캐싱: 한 번 받아온 데이터를 캐시에 저장하여, 같은 요청이 다시 발생하면 빠르게 응답할 수 있습니다.
  3. 백그라운드 동기화: 애플리케이션이 백그라운드로 갔을 때도 데이터를 최신 상태로 유지합니다.
  4. 오류 핸들링: 데이터 요청 중 발생한 오류를 쉽게 처리하고 사용자에게 피드백을 줄 수 있습니다.

 

 

주스탠드 (Zustand)

주스탠드는 상태 관리 라이브러리로, Redux와 같은 기존의 상태 관리 라이브러리보다 간단하고 직관적인 API를 제공

리덕스의 복잡한 설정과 보일러플레이트 없이도 상태를 효과적으로 관리

 

주요 기능:

  1. 간단한 설정: 작은 설정으로 강력한 상태 관리가 가능합니다.
  2. 훅 기반 API: useStore 같은 훅을 사용해서 컴포넌트 내에서 직접 상태를 접근하고 업데이트할 수 있습니다.
  3. 비동기 로직 통합: 액션 내에서 비동기 로직을 쉽게 통합하고 관리할 수 있습니다.
  4. 컴포넌트 간 상태 공유: 애플리케이션의 다양한 컴포넌트 간에 상태를 쉽게 공유하고 업데이트할 수 있습니다.

 

React Query & Zustand 장점

  • 최적화된 서버 상태 관리와 클라이언트 상태 관리: 리액트 쿼리는 서버 데이터의 캐싱, 동기화 및 업데이트를 자동으로 처리하며, 주스탠드는 애플리케이션의 로컬 상태 관리를 담당합니다. 이 조합으로 서버 상태와 클라이언트 상태 각각을 최적화된 방식으로 관리할 수 있습니다.
  • 간결한 코드와 향상된 개발 생산성: 주스탠드의 간단한 API와 리액트 쿼리의 효율적인 데이터 페칭 모델 덕분에, 코드 베이스가 깔끔해지고 개발자가 더 집중할 수 있는 환경이 조성됩니다.
  • 비동기 작업의 간소화: 리액트 쿼리가 비동기 데이터 페칭을 관리하는 동안 주스탠드는 비동기 상태 업데이트를 용이하게 만들어, 애플리케이션에서 발생할 수 있는 비동기 작업을 더욱 쉽게 처리할 수 있습니다.

 

 

비즈니스 로직 

stories

 

 

'🖥️ Frontend > frontend+' 카테고리의 다른 글

🌺 React-query 공부하기  (0) 2024.09.02
🐻 Zustand  (1) 2024.08.19
프론트엔드 : 💝Emotion  (0) 2024.08.08
🌏 RealWorld 프로젝트 - react/recoil  (0) 2024.04.02
🟦 Typescript 공부하기 🟦  (0) 2024.03.20