TIL #61 | 상태관리(State Management) 종류

kibi·2024년 1월 11일
1

TIL (Today I Learned)

목록 보기
61/83

상태관리(State Management)

상태관리란 말 그대로 State(데이터)를 관리하는 것을 의미한다.
프로그램을 구현할 때 무수히 많은 데이터의 늪에서 효율적인 상태관리는 선택이 아니라 필수이다.
이런 상태관리는 크게 클라이언트 사이드 상태 관리와 서버 사이드 상태 관리로 나눌 수 있다.


클라이언트 사이드 상태 (Client-Side State)

사용자의 브라우저 내에서 관리되는 상태
useState 또는 상태 관리 라이브러리를 통해 관리된다.

  • 로컬 데이터: 로컬에서만 필요한 데이터 ex) 다크모드, isLogin
  • 성능: 네트워크 지연 없이 빠른 상태 변경 가능
  • 수명 주기: 페이지 새로고침 및 종료 시 초기화

서버 사이드 상태 (Server-Side State)

서버에 저장되고 관리되는 데이터
반드시 데이터 베이스는 아니며 캐시 데이터일 수 있다.

  • 중앙 집중식 데이터
    사용자 정보, 애플리케이션 설정, 대규모 데이터셋 등 여러 세션 또는 사용자 간에 공유되어야 하는 데이터를 관리한다.
    (독립적인 시스템에서도 접근 가능해야 한다.)

  • 지속성
    데이터가 데이터베이스 서버 또는 캐시 서버에 저장되므로 클라이언트 상태가 초기화 되거나 변경되어도 영구적으로 유지된다.

  • 동기화와 일관성
    서버로 데이터를 요청하면서 발생하는 네트워크 지연과 데이터 동기화에 대한 고려가 필요하다

0개의 댓글