'use client'는 렌더 방식이 아니라 모듈 그래프 경계를 선언한다

초기 HTML은 서버에서 미리 만들어질 수 있지만, 경계 아래 JavaScript는 브라우저 번들과 hydration 대상이 된다.

Server Component데이터·비밀·정적 UI를 서버에 남긴다.
'use client'파일과 import 하위 트리가 경계를 넘는다.
직렬화 가능한 props서버 결과만 작은 상호작용 섬에 전달한다.
Client islandJS가 이벤트를 붙이고 상태를 이어받는다.

클라이언트가 필요한 신호

state·event handler

effect·custom hook

window·localStorage

브라우저 전용 라이브러리

서버에 남길 책임

DB·API 가까운 fetch

키·토큰·권한 처리

상호작용 없는 본문

큰 의존성과 변환 작업

이유브라우저 기능을 한 문장으로 설명할 수 있는가?

위치page보다 작은 interactive island로 내릴 수 있는가?

의존성import 하위의 번들 비용과 server-only 위반은 없는가?

범위provider는 소비자 가까이에 깊게 배치했는가?