912 B
912 B
🌐 [LEVEL 5] 상태 관리의 거버넌스: 어디에 저장할 것인가?
1. 상태에도 거주지가 있다
- Local State: 그 컴포넌트만 알면 되는 것 (Input 입력값 등).
- Global State: 온 동네가 알아야 하는 것 (로그인 정보, 테마).
- Server State: 서버에서 빌려온 것 (게시글 목록).
2. 서버 상태는 React Query에게 맡겨라
useEffect로 API 호출해서loading관리하던 시대는 끝났다.- 캐싱, 재시도, 로딩 상태를 자동으로 해주는 라이브러리를 써서 **'신선한 데이터'**만 관리하라.
3. 상태의 최소화 (Single Source of Truth)
firstName과lastName이 있는데fullName이라는 상태를 또 만들지 마라.fullName은 렌더링할 때 그냥 합쳐서 보여주면 된다.- 상태가 많아질수록 동기화 오류(버그)의 확률은 급상승한다.