[Next TIL] 서버 컨포넌트

cooking_123·2024년 2월 14일

Next.js TIL

목록 보기
2/12

😎 RSC(React Server Component) vs RCC(React Client Component)

  • RSC란 서버에서 동작하는 컴포넌트를 말한다. 서버 컴포넌트는 서버에서 한차례 해석된 이후 클라이언트에 전달된다.
  • RCC란 클라이언트에서 동작하는 컴포넌트를 말한다.클라이언트 컴포넌트는 클라이언트가 js 번들(js 파일 묶음)을 다운받은 후 해석하게 된다.

➡️ RSC의 장점

  • 클라이언트로 내려보내는 js 번들 크기를 줄일 수 있다.
  • 데이터 베이스와 보다 가까운 곳에서 데이터를 조회하기 때문에 속도가 더 빨라진다.

➡️ 서버 사이드와 클라이언트 컴포넌트 사용경우 구분

  • Next.js는 RSC를 기본 컴포넌트 렌더링 방식으로 채택하고 있다.
  • 하지만 브라우저 API를 사용하거나 useState, useEffect 등의 훅을 이용해야하는 경우에는 여전히 클라이언트 컴포넌트를 사용해야 한다.
  • 클라우드 컴포넌트를 사용할 때는 파일 가장 첫 줄에 use client라고 명시하면 됩니다.
'use client'
 
import { useState } from 'react'
 
export default function Counter() {
  const [count, setCount] = useState(0)
 
  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>Click me</button>
    </div>
  )
}

0개의 댓글