클라이언트 경계
use client 경계
이벤트 핸들러, 상태, effect처럼 클라이언트 런타임이 필요한 코드는 서버 컴포넌트 트리 안에서 경계를 분리해야 한다.
컴포넌트 경계
hydration클라이언트 기능
onClick, useState, useEffect처럼 브라우저 실행이 필요한 기능은 client 경계 안에 둔다.
번들 영향
경계 아래 코드는 클라이언트 번들에 포함되므로 필요한 지점에만 선언한다.
서버 트리→client 경계→hydration→interaction
use client는 파일 전체를 클라이언트 컴포넌트로 만드는 선언이므로, 상호작용이 필요한 가장 작은 경계에 두는 것이 좋다.