공부공부 120

[next.js 공식문서] 09. Intercepting Routes

next.js 13버전 때 학습내용 정리 문서로 현재와 다름 주의 Intercepting Routes (…) [feed] ├── (..)photo/[id] │ └── page.tsx └── layout.tsx photo/[id] ├── page.tsx └── layout.tsx 예제 모달 URL을 통해 모달에 액세스할 수 없습니다. 페이지가 새로 고쳐지면 모달이 닫힙니다. 모달 뒤의 경로가 아닌 이전 경로로 이동하는 역방향 탐색. 모달을 다시 열지 않고 앞으로 탐색합니다. shop ├── @products │ └── page.tsx ├── @modal/(..)cart │ └── page.tsx └── layout.tsx cart ├── page.tsx └── layout.tsx

[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”..

[typescript 핸드북] 12. 네임스페이스와 모듈

typescript 핸드북 학습내용 정리 https://typescript-kr.github.io/pages/the-handbook.html 네임스페이스와 모듈 모듈 사용하기 모듈에는 코드와 선언 둘 다 포함 될 수 있음 모듈은 모듈로더에 대한 의존성이나 ES모듈이 지원하는 런타임을 가지고 있음 Node.js의 경우 모듈이 기본이 기본적인 방법임 모듈 사용을 권장함 네임스페이스 사용하기 네임스페이스는 코드를 구성하는 TS만의 고유한 방법 전역 네임스페이스에서 JS 객체로 이름 붙여짐 모듈과 달리 여러개의 파일을 포괄할 수 있으며, --outFile을 사용해 연결할 수 있음. 네임스페이스와 모듈의 위험성 /// 를 사용한 모듈 모듈 파일을 참조하기 위해 import 문 대신 /// 구문을 사용하는 실수 i..

공부공부/TS 2024.02.19
728x90