Next.js 31

[next.js 공식문서] 08. Parallel Routes

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Parallel Routes @folder로 정의 dashboard ├── @audience │ ├── demographics │ │ └── page.js │ ├── subscribers │ │ └── page.js │ └── page.js ├── @views │ ├── impressions │ │ └── page.js │ ├── view-duration │ │ └── page.js │ └── page.js ├── layout.js └── page.js 아래처럼 children에 병렬로 가져다 쓸 수 있음 function AudienceNav() { return ...; } function ViewsNav() { return ...; } ..

[next.js 공식문서] 07. Route Handlers

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Route Handlers route.js 규칙 route.js 또는 route.ts 파일에 정의됨 export async function GET(request: Request) {} 지원되는 http 메서드 get, post, put, patch, delete, head 및 options를 지원함. 지원 안되는 메서드가 호출되면 405 반환 확장 NextRequest 및 NextResponse API cookie, json, redirect, rewrite 등 행동 정적 경로 처리기 응답 객체와 함께 GET 메서드를 사용할 때 정적으로 평가됨. import { NextResponse } from 'next/server'; export a..

[next.js 공식문서] 06. Error Handling

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Error Handling error.js 이용 React Error Boundary에서 경로 세그먼트와 중첩된 자식을 자동으로 래핑 파일 시스템 계층 구조를 사용하여 특정 세그먼트에 맞춤화된 오류 UI를 생성하여 세분성을 조정 나머지 앱 기능을 유지하면서 영향을 받는 세그먼트에 대한 오류를 격리 전체 페이지를 다시 로드하지 않고 오류 복구를 시도하는 기능이 있음 error.tsx 'use client'; // Error components must be Client components import { useEffect } from 'react'; export default function Error({ error, reset, }: { ..

[next.js 공식문서] 05. Loading UI

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Loading UI 인스턴스 로딩 상태 스켈레톤이나 스피너와 같은 로딩 표시기나 표지 사진, 제목등을 미리 렌더링 할 수 있음. loading.tsx export default function Loading() { // You can add any UI inside Loading, including a Skeleton. return } 같은 폴더에서 loading.js는 layout.js 안에 중첩됨. page.js 파일과 그 아래의 모든 하위 파일을 경계로 감쌈. 탐색은 서버 중심 라우팅에서도 즉각적임 네비게이션은 중단 가능 공유 레이아웃은 새 경로 세그먼트가 로드되는 동안 유지됨 서스펜스 경계 수동 정의 리액트의 fallback 활용

[next.js 공식문서] 04. Linking and Navigating

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Linking and Navigating 요소 기본 import Link from 'next/link'; export default function Page() { return Dashboard; } 동적 세그먼트에 연결 import Link from 'next/link'; export default function PostList({ posts }) { return ( {posts.map((post) => ( {post.title} ))} ); } useRouter() 훅 'use client'; import { useRouter } from 'next/navigation'; export default function Page() { c..

[next.js 공식문서] 03. Pages and Layouts

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Pages and Layouts 페이지 페이지는 경로에 고유한 UI export default function Page() { return Hello, Next.js!; } 페이지는 항상 경로 하위 트리의 리프임. .js, .jsx, .tsx 파일 확장자 사용가능 경로 세그먼트에 공개적으로 액세스 하려면 page.js 필요 페이지는 기본적으로 서버 컴포넌트지만 클라이언트 컴포넌트로 설정할 수 있음 페이지는 데이터를 가져올 수 있음 레이아웃 레이아웃은 여러 페이지간에 공유되는 UI (리렌더링이 안되고 중첩가능) export default function DashboardLayout({ children, // will be a page or ..

[next.js 공식문서] 02. Defining Routes

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Defining Routes 경로 생성 폴더를 만들고 page.js, page.jsx, page.tsx 등을 넣어라 UI 만들기 page.js내에 리액트 컴포넌트를 추가하고 export default로 내보내기 Path Group 규칙 ()로 묶어서 생성. 이름은 별 의미 없음. 다른 URL path랑 겹치면 안됨 여러 루트 레이아웃을 탐색하면 전체 페이지 로드가 발생함.(다중 루트 레이아웃 시)) URL 구조에 영향을 주지 않고 경로 구성 ex) /(marketing)/about/page.js 특정 경로 세그먼트에 레이아웃 적용 ex) /(marketing)/layout.js 애플리케이션을 분할하여 다중 루트 레이아웃 만들기 ex) /의..

[next.js 공식문서] 01. Fundamentals

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Fundamentals 용어 트리 : 부모 및 자식 컴포넌트가 있는 컴포넌트 트리, 폴더 구조 하위트리 : 새 루트(첫번째)에서 시작하여 리프(마지막)에서 끝나는 트리의 일부 루트 : 루트 레이아웃 같은 트리 또는 하위 트리의 첫번째 노드 리프 : 자식이 없는 하위 트리의 노드 URL 세그먼트 : 도메인이 아닌 /로 구분된 URL 경로의 일부 URL path : 도메인 뒤에 오는 URL의 일부 (세그먼트로 구성) app 디렉토리 새 라우터는 app 디렉토리에서 동작 기존 pages 경로와 함께 사용가능하나 URL path가 겹치면 안됨 기본적으로 컴포넌트는 서버 컴포넌트임. 클라이언트 컴포넌트를 사용할수도 있음. ( “use client”..

[next.js 제로초] 섹션 3. 그런데 백엔드 개발자가 API를 아직 못 만들었다

제로초님 강의 정리 https://www.inflearn.com/course/next-react-query-sns MSW 목업 mswjs.io public 폴더의 mockServiceWorker.js가 호출을 가로채서 목업 서비스를 하는 방식 컴포넌트 생성 후 브라우저인지 체크하고 환경변수를 통해 로컬환경에서 끄고 킬 수 있는 방식으로 정리되어 있음. next.js와 매끄럽게 호환이 안됨. 노드 서버의 도움을 받아야함. 어차피 express로 실행을 해야된다면 FE 코드와 분리하여 환경변수로 서버 주소를 바꾸는 방식이 더 낫지 않나 라는 생각이 듬. pocketbase 등을 활용하면 실제로 CRUD 테스트까지 가능함. 서버 컴포넌트에서 Server Actions 사용하기 함수안에 “use server”;..

[next.js 제로초] 섹션 1. 기획자와 디자이너 기획서를 던져주었다

제로초님 강의 정리 https://www.inflearn.com/course/next-react-query-sns Next 프로젝트 시작하기 x (twitter) 클론코딩 - 홈, 탐색하기, 쪽지, 프로필 url을 그대로 가져가기 새로고침 시 다르게 동작하는 것 확인 반응형 설치 npx create-next-app@latest 설치옵션 ✔ Would you like to use TypeScript? … No / Yes ✔ Would you like to use ESLint? … No / Yes ✔ Would you like to use Tailwind CSS? … No / Yes ✔ Would you like to use `src/` directory? … No / Yes ✔ Would you like ..

728x90