Next.js 4

Client와 Server 컴포넌트의 상태 관리

1. 클라이언트 컴포넌트의 상태 관리클라이언트 컴포넌트란?클라이언트 컴포넌트는 브라우저에서 렌더링되며, 사용자와의 상호작용 및 상태 관리를 담당합니다. 클라이언트 컴포넌트는 use client 지시문을 통해 명시적으로 선언'use client';import { useState } from 'react';export default function Counter() { const [count, setCount] = useState(0); return ( setCount(count + 1)}> Count: {count} );}클라이언트 상태 관리 방법클라이언트 컴포넌트는 React의 기본 상태 관리 도구와 외부 상태 관리 라이브러리를 활용할 수 있습니다.1. React의 내장 상태..

Next.js 2024.12.18

Next.js 14 프로젝트 구조 및 아키텍처 설계

이 글에서는 Next.js 14를 기준으로 프로젝트 구조와 아키텍처 설계의 핵심 개념과 고급 기능들을 심층적으로 탐구하려고 함  파일 기반 라우팅 구조파일 기반 라우팅 시스템을 통해 프로젝트의 구조를 직관적이고 체계적으로 관리App Router의 기본 구조자동 경로 매핑: app/ 디렉토리 내 파일은 URL 경로와 자동으로 매핑됩니다.예: app/blog/page.tsx → /blog계층적 경로 관리: 폴더 구조를 활용하여 계층적 URL을 손쉽게 생성할 수 있습니다.예: app/blog/post/page.tsx → /blog/post라우팅의 고급 기능병렬 라우트(Parallel Routes): 여러 경로를 병렬로 렌더링하여 복잡한 UI를 효율적으로 처리합니다.인터셉팅 라우트(Intercepting Rou..

Next.js 2024.12.18

기능/페이지별 데이터 패칭 전략

디시인사이드 같은 커뮤니티 사이트에 Next.js의 서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)을 설계 1. 서버 사이드 렌더링(SSR) - 인기글/갤러리 메인 페이지서버 사이드 렌더링은 페이지를 서버에서 미리 렌더링해서 완성된 HTML을 보내주는 방식이에요.비유 대상: 디시인사이드의 인기글 목록, 갤러리 메인 페이지이유: 인기글은 많은 사람이 동시에 방문하는 페이지입니다. 빠르게 로딩되어야 하며 검색 엔진 최적화(SEO)도 중요SSR을 사용하면 서버가 데이터를 미리 가져와 렌더링해서, 페이지를 로드하는 즉시 내용이 보이는 장점이 있습니다.2. 클라이언트 사이드 렌더링(CSR) - 개별 게시글 상세 페이지클라이언트 사이드 렌더링은 페이지를 먼저 불러온 후, 클라이언트(브라우저)가 Ja..

Next.js 2024.12.17

Next js 데이터 패칭 방식

기본 방식기본적으로 서버 사이드 방식과 클라이언트 사이드 방식을 모두 지원하는 하이브리드 프레임워크입니다. 즉, 어떤 방식으로 페이지를 렌더링할지는 개발자가 설정에 따라 선택할 수 있습니다. 기본적으로 Next.js는 SSG(Static Site Generation)와 SSR(Server-Side Rendering) 방식을 모두 제공하며, 클라이언트 사이드의 동적 기능도 지원요약기본적으로 서버 사이드 방식: Next.js는 서버 사이드에서의 페이지 렌더링을 기본적으로 제공하며, SSG와 SSR을 지원클라이언트 사이드 지원: Next.js는 또한 클라이언트 사이드 기능도 지원하며, 동적 임포트, 클라이언트 사이드 라우팅, API Routes 등 다양한 클라이언트 사이드 기술을 제공데이터 패칭 방식1. SS..

Next.js 2024.12.17