

그럼 이 App에서 Redux가 필요한 순간은 언제인가
— “편해서”가 아니라 “안 쓰면 틀려지는 순간”
지금 구조를 보면 솔직히 말해 Redux는 아직 필요 없다.
Zustand + 로컬 상태로도 충분히 예측 가능하고 안정적이다.
그럼에도 불구하고 Redux가 등장해야 하는 분기점은 명확하다.
아래는 **이 App 코드 기준으로 “여기부터는 Redux를 고민해야 한다”**는 실제 트리거들이다.
1️⃣ 상태가 “UI 편의”를 넘어 업무 규칙이 되는 순간
현재 상태 (Redux 불필요)
- 탭 열림/닫힘
- 메뉴 선택
- 팝업 표시
- 로그인 여부
이건 전부 UI 상태다.
Redux 필요 신호 ①
“이 상태가 바뀌는 순서가
업무 규칙으로 중요해졌다”
예시 (지금 코드에서 확장될 경우)
1. 메뉴 접근
2. 권한 확인
3. 승인 상태 조회
4. 승인 안 됐으면 접근 차단
5. 감사 로그 기록
이제 상태는:
- 단순 값 ❌
- 워크플로우 ⭕
👉 Redux 후보
2️⃣ “누가 / 언제 / 왜”를 기록해야 할 때
Zustand까지는 보통 이런 질문에 약하다.
“이 메뉴가 왜 안 보였죠?”
“누가 탭을 닫았나요?”
“어제는 됐는데 오늘은 왜 안 되죠?”
Redux 필요 신호 ②
상태 변경 이력이 문제 분석의 핵심이 되는 순간
Redux가 강제하는 구조
ACTION: MENU_OPEN_REQUEST
ACTION: MENU_OPEN_DENIED (ROLE_MISSING)
ACTION: AUDIT_LOG_WRITTEN
👉 DevTools 타임라인 = 설명서
3️⃣ 메뉴 / 권한 / 라우팅이 정책이 될 때
지금은 메뉴가 단순 필터다.
filterMenus(allMenus, isMobile)
Redux가 필요한 시점은 이럴 때다.
Redux 필요 신호 ③
- 메뉴 노출 규칙이 복잡해짐
- 권한, 조직, 계약, 상태가 얽힘
- “조건이 하나라도 바뀌면 결과가 달라짐”
if (ROLE_ADMIN && DEPT === 'HQ' && CONTRACT_ACTIVE)
이건 더 이상 UI 필터가 아니다.
👉 정책 엔진에 가까워짐 → Redux
4️⃣ 서버 상태와 클라이언트 상태가 얽히기 시작할 때
지금 구조는 깔끔하다.
- 서버 → 데이터
- 클라이언트 → UI
Redux 필요 신호 ④
“이 상태는 서버 값이면서
클라이언트에서도 변경된다”
예:
- 승인 대기 → 승인 완료
- 임시 저장 → 확정
- 편집 중 → 제출 완료 → 반려
이건 상태 기계(state machine) 다.
Redux는 이걸 표현하는 데 특화돼 있다.
5️⃣ 팀 규모가 커지고 “규칙 통일”이 필요할 때
이건 기술 문제가 아니라 조직 문제다.
Redux 필요 신호 ⑤
- 개발자 5명 이상
- 상태 변경 규칙이 제각각
- 코드 리뷰에서 “왜 여기서 바뀌죠?” 반복
Redux는 불편하지만 이런 걸 강제한다.
상태 변경은 반드시
Action → Reducer 경로를 거친다
👉 커뮤니케이션 비용 감소
6️⃣ 이 App 기준 “Redux 필요/불필요” 명확한 선
❌ Redux 불필요 (현재)
- 인증
- 메뉴 로딩
- 탭 UI
- 팝업
- 모바일/PC 분기
⭕ Redux 필요해지는 순간
- 메뉴 접근 정책이 규칙이 될 때
- 권한/조직/상태가 얽힐 때
- 승인·워크플로우·감사 요구 등장
- 상태 변경 이력 자체가 중요해질 때
7️⃣ 중요한 오해 하나 정리
“앱이 커지면 Redux 써야 하는 거 아냐?”
❌ 아니다.
정확한 문장은 이거다.
“앱의 ‘상태 의미’가 커지면 Redux가 필요해진다”
UI가 커지는 건
Redux 이유가 아니다.
8️⃣ 최종 결론 (이 App에 딱 맞는 문장)
이 문장으로 Redux 판단을 끝내도 된다.
이 App에서 Redux는
‘전역 상태가 많아질 때’가 아니라
‘상태가 규칙과 책임을 갖기 시작할 때’ 등장한다
지금 구조는
- Zustand (auth)
- App 로컬 (shell UI)
- Page 로컬 (화면 상태)
로 아주 건강하다.
Redux는
지금 당장 도입하면 과설계이고,
나중에 도입해도 늦지 않다.
여기까지 오면
React 상태 설계에 대해
“왜 이걸 쓰는지”를 설명할 수 있는 단계다.
다음으로 이어가면 딱 좋은 주제는 둘 중 하나다:
- 👉 “이 App을 Redux로 바꾼다면 최소 구조는?”
- 👉 “Context + Zustand + Redux를 같이 쓰는 구조는 언제 필요한가?”
원하는 방향 하나만 고르면 거기서 끝까지 정리해줄게.
'framework_library > react' 카테고리의 다른 글
| 컴포넌트의 유형 (0) | 2026.01.23 |
|---|---|
| 코드디벨럽2 (0) | 2026.01.10 |
| 코드 디벨럽 (0) | 2026.01.10 |
| React 소스 적용 (0) | 2026.01.10 |
| Redux는 왜 아직도 쓰이는가 (0) | 2026.01.10 |
댓글