Nextjs 14 App Router page.tsx 

Nextjs 14 App Router page.tsx 
it-postingPosted On Aug 19, 20242 min read

Next.js는 파일 시스템 기반 라우터를 사용합니다. 이 라우터를 사용하면 중첩된 경로에서 특정 동작을 가진 UI를 생성할 수 있습니다:

  • layout : 세그먼트와 해당 자식들을 위한 공유 UI
  • page : 경로의 고유 UI 및 공개 경로 생성
  • loading : 세그먼트와 해당 자식들을 위한 로딩 UI
  • not-found : 세그먼트와 해당 자식들을 위한 찾을 수 없음 UI
  • error : 세그먼트와 해당 자식들을 위한 오류 UI
  • global-error : 전역 오류 UI
  • route : 서버 측 API 엔드포인트
  • template : 특수 재랜더링된 레이아웃 UI
  • default : 병렬 라우트에 대한 대체 UI

참고: 특수 파일에는 .js, .jsx 또는 .tsx 파일 확장자를 사용할 수 있습니다.

이미지

이 글에서는 Next.js (App Router)의 페이지 파일 역할을 이해하는 데 깊이 파고들어 볼 것입니다.

페이지는 경로에 고유한 UI입니다. 페이지를 정의하는 방법은 page.js 파일에서 컴포넌트를 기본 내보내기하는 것입니다. 해설: 웹 앱에서 "페이지"를 방문하는 특정 주소(또는 "경로")를 방문할 때 보는 특정 화면 또는 뷰로 생각해보세요. 예를 들어, 사이트의 홈페이지, "회사 소개" 페이지 또는 "연락처" 페이지는 모두 다른 "페이지"입니다.

간단히 말하면, 이러한 페이지 중 하나를 만들고 싶다면 프로젝트에서 page.js(또는 TypeScript를 사용하는 경우 page.tsx)라는 파일을 만들면 됩니다. 이 파일 안에 페이지가 어떻게 보일지 설명하는 코드를 작성한 다음, 이 코드를 내보냅니다. 방문자가 해당 경로를 방문할 때 표시되는 것이 이 내보낸 코드입니다.

예를 들어, 인덱스 페이지를 만들려면 앱 디렉토리 안에 page.js 파일을 추가하십시오:

그리고 더 많은 페이지를 만들려면 새 폴더를 만들고 해당 폴더 안에 page.js 파일을 추가하세요. 예를 들어, /dashboard 경로에 대한 페이지를 만들고 싶다면 dashboard라는 새 폴더를 만들고 그 안에 page.js 파일을 추가하세요:

참고:

  1. 페이지는 .js, .jsx 또는 .tsx 파일 확장자를 사용할 수 있습니다.
  2. 페이지는 항상 루트 서브트리의 말단입니다.
  3. 말단: 자식이 없는 서브트리의 노드로, URL 경로의 마지막 세그먼트와 같은 것입니다.

이미지1

  1. 루트 세그먼트를 공개로 만들려면 page.js 파일이 필요합니다.
  2. 페이지는 기본적으로 서버 컴포넌트이지만, 파일 상단에 "use client" 지시문을 사용하여 클라이언트 컴포넌트로 설정할 수 있습니다. 이 때, import 문 위에 위치해야 합니다.

이미지2

이미지3

  1. 페이지에서 데이터를 가져올 수 있습니다.