Quay lại thư viện câu hỏi
next.js Junior

Sự khác biệt cốt lõi giữa App Router và Pages Router trong Next.js là gì và tại sao Next.js khuyến khích sử dụng App Router cho các dự án hiện đại?

Phân tích sự khác biệt cốt lõi

1. Pages Router (Mô hình cũ)

  • Sử dụng thư mục pages/ để định tuyến tập tin (File-based Routing).
  • Mặc định tất cả các Component trong một trang đều là Client Components, nghĩa là mã nguồn được gửi về trình duyệt và thực thi ở client.
  • Việc fetch dữ liệu dựa trên các hàm đặc biệt như getServerSideProps (cho SSR) hoặc getStaticProps (cho SSG). Các hàm này chạy hoàn toàn trên server trước khi render trang.

2. App Router (Mô hình mới - Khuyên dùng)

  • Sử dụng thư mục app/ dựa trên React Server Components (RSC).
  • Mặc định tất cả các Component đều là Server Components, giúp giảm thiểu đáng kể kích thước JavaScript Bundle gửi về client.
  • Cung cấp các tính năng nâng cao như Layouts, Loading UI, Error Handling, và Streaming thông qua Suspense một cách tự nhiên và tối ưu hơn.

Lý do Next.js khuyến khích sử dụng App Router

  • Hiệu năng vượt trội: Server Components thực thi trực tiếp trên server và chỉ trả về HTML tĩnh hoặc luồng dữ liệu gọn nhẹ, giúp cải thiện chỉ số Core Web Vitals (đặc biệt là First Contentful Paint và Time to Interactive).
  • Trải nghiệm lập trình tốt hơn: Hỗ trợ tính năng bố cục lồng nhau (Nested Layouts) giúp tái sử dụng giao diện và giữ trạng thái tốt hơn khi chuyển trang.
  • Hỗ trợ React mới nhất: Tận dụng triệt để các tính năng bất đồng bộ của React 18+ như Suspense để xử lý bất đồng bộ mượt mà.

Lưu ý thực chiến cho Junior

Khi mới chuyển từ Pages Router sang App Router, lập trình viên thường gặp lỗi khi cố gắng sử dụng các React Hooks như useState, useEffect hoặc các event listener bên trong Server Components. Hãy nhớ khai báo chỉ thị 'use client' ở đầu file khi bạn thực sự cần tương tác với trình duyệt hoặc quản lý trạng thái tại client.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề next.js

Khóa học Next.js App Router Chuyên Sâu

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học