| 코드 신호 | 클라이언트 선언 필요 | 주의할 점 |
|---|---|---|
| useState, useEffect | 브라우저에서 상태가 바뀌므로 클라이언트 컴포넌트가 필요하다. | 상위 layout 전체에 선언하지 말고 상태 영역만 분리한다. |
| onClick, onChange | 이벤트 핸들러는 직렬화되지 않으므로 클라이언트 파일 안에 둔다. | 서버 컴포넌트는 결과 HTML이나 data를 children으로 넘긴다. |
| window, document | 브라우저 전용 API는 서버 렌더 중 실행할 수 없다. | 렌더 직후 값 차이로 hydration 불일치가 나지 않게 한다. |