next.js에서 컴포넌트를 만들어서 사용 할 때
서버 컴포넌트와 클라이언트 컴포넌트로 크게 나눌 수 있다.
우선 두 가지의 간단한 차이점을 알아보면
서버 컴포넌트는 우리가 리액트를 하면서 흔히 생성해서 사용하는 컴포넌트이고,
클라이언트 컴포넌트는 js파일 최상단에
use client
선언을 하고 만든 컴포넌트이다.
우선 서버 컴포넌트는 jsx파일 내 html에 스크립트를 작성하지 못한다.
useState, useEffect도 동일하게 사용 불가한다.
그에 반면 클라이언트 컴포넌트는 onClick 등 스크립트에 의해 이벤트를 작동 시킬 수 있다.
그리고 사용하면서 자바스크립트를 작성 해야 할 때는
ex)제품 수량 카운터 기능
부분적으로만 client 컴포넌트를 사용하면 된다.