프론트엔드 상태관리 전략
1. 상태관리란 무엇일까?
(1) 상태관리가 등장하게 된 배경
1) 서버 중심(SSR) → 클라이언트 중심(SPA)으로 변화
- 모바일 앱의 등장으로 웹에서도 앱과 유사한 경험 요구
- SPA 방식 도입으로 클라이언트에 유지해야 할 상태가 급증
- 페이지 새로고침 없이 다양한 UI를 처리하는 복잡성 증가
// 복잡해진 클라이언트 상태들
let user = { /* 사용자 정보 */ };
let cart = [/* 장바구니 아이템 */];
let uiState = { isModalOpen: false, darkMode: true };
let apiData = { /* API 응답 데이터 */ };
2) 체계적인 상태관리 패턴과 라이브러리 등장
- 2013년: React의 단방향 데이터 흐름 소개
- 2015년: Redux(Flux 패턴)의 등장으로 전역 상태관리 체계화
- 2018년 이후: MobX, Zustand, Recoil, Jotai 등으로 발전
3) 상태관리 핵심 원칙 확립
- 단일 진실 공간(Single source of truth)
- 불변성(Immutability)을 통한 예측 가능한 상태 변화
- 명시적인 상태 업데이트 메커니즘