Integration Check

전역 상태 실습은 네 경계를 함께 맞춥니다

인증과 테마 상태는 Context, reducer, route guard, CSS 변수 중 하나만 어긋나도 화면 동작이 깨집니다. 파일별 책임을 나누어 연결 지점을 점검합니다.

AppContext.js

상태와 reducer의 중심

초기 상태, action 처리, Provider value가 한곳에서 연결됩니다.

Header.js

사용자 action의 시작점

로그인, 로그아웃, 테마 변경 버튼이 dispatch를 호출합니다.

Dashboard

보호 라우트의 판정 지점

비로그인 상태에서는 보호 화면 렌더링을 막고 홈으로 돌려보냅니다.

index.css

theme 상태의 시각 결과

body 클래스와 CSS 변수가 실제 라이트/다크 스타일을 바꿉니다.

LOGIN user 저장, Header 인사말, Dashboard 접근 허용
LOGOUT user 제거, 프로필 숨김, 보호 화면 재차단
THEME theme 변경, body 클래스 갱신, CSS 변수 적용
DIRECT 주소 직접 접근 시 인증 상태로 라우트 판단
공급Provider
명령dispatch
판정route
표현style

정리 실습의 성공 기준은 코드가 나뉘어 있는 것이 아니라, 한 action이 상태, 라우팅, 화면 표시까지 일관되게 이어지는지 확인하는 것입니다.