상태 관리의 기본 개념

상태(state)란 특정 시점에서 애플리케이션의 데이터가 가지는 값을 의미합니다. === 데이터

상태 관리는 이러한 데이터를 추적하고 업데이트하는 과정을 말합니다.

image.png

클라이언트 상태

클라이언트 상태는 애플리케이션의 프론트엔드에서 관리되는 데이터로, 사용자의 브라우저 또는 애플리케이션 내에 저장되어 있습니다. 이는 주로 UI 관련 상태(예: 모달 창 열림/닫힘, 테마 설정)나 사용자 입력(예: 폼 데이터)을 관리하는 데 사용됩니다.

로컬 상태 관리

특정 컴포넌트 내에서만 데이터를 관리하는 방법으로, 함수형 컴포넌트에서는 리액트 훅(useState)과 props를 사용하여 상태를 관리합니다.

주요 클라이언트 상태 관리 라이브러리

image.png

Redux VS Zustand

서버 상태 관리

서버 상태는 외부 서버에서 제공하는 데이터나 리소스에 대한 상태로, 클라이언트 애플리케이션이 직접 관리하지 않고 서버로부터 받아오는 정보를 사용합니다. 이 데이터는 여러 클라이언트에서 동시에 변경될 수 있어 즉각적인 동기화가 어렵습니다.