use client는 필요성·위치·전달값·번들 범위를 모두 통과해야 한다

지시어 한 줄이 하위 import 트리를 클라이언트 실행 영역으로 바꾸므로 선언 전 네 경계를 확인한다.

1

상호작용 필요

state·event·browser API가 실제로 있는가

2

가장 작은 파일

page가 아니라 버튼·폼·토글 leaf에 선언했는가

3

직렬화 가능한 props

함수·class 대신 plain data와 children을 받는가

4

import 경계

server-only 코드와 무거운 라이브러리가 끌려오지 않는가

핵심한 조건이라도 불필요하면 경계를 더 아래로 내리거나 서버 컴포넌트로 되돌린다.