Next.js là gì? Cách học làm Nextjs nhanh nhất?

Next.js là một framework React giúp phát triển web nhanh chóng, tối ưu SEO và hiệu suất cao. Hãy cùng Đại học bôn ba tìm hiểu ngôn ngữ lập trình này

Feb 8, 2025 - 13:24
Feb 8, 2025 - 13:43
Next.js là gì? Cách học làm Nextjs nhanh nhất?

Next.js là ngôn ngữ lập trình gì?

Next.js là một framework React giúp phát triển web nhanh chóng, tối ưu SEO và hiệu suất cao. Nó cung cấp nhiều tính năng mạnh mẽ như:
Rendering linh hoạt: Hỗ trợ Server-side Rendering (SSR), Static Site Generation (SSG), Incremental Static Regeneration (ISR).
Routing đơn giản: Dựa trên thư mục (pages/) mà không cần dùng thư viện như React Router.
API Routes: Cho phép tạo API backend ngay trong Next.js mà không cần server riêng.
Tối ưu SEO: Hỗ trợ metadata, pre-rendering giúp Google dễ index trang web hơn.
Hỗ trợ Fullstack: Kết hợp với databases như MongoDB, Firebase, Prisma để làm ứng dụng fullstack.

Cách học Next.js nhanh nhất

? 1. Hiểu vững React
Next.js xây dựng trên React, nên cần hiểu trước các khái niệm cơ bản: Components, Props, State, Hooks, Context API...

? 2. Học qua tài liệu chính thức
Trang chủ của Next.js (https://nextjs.org/docs) có hướng dẫn rất đầy đủ và dễ hiểu.

? 3. Thực hành ngay với một dự án nhỏ

  • Bắt đầu với npx create-next-app@latest để tạo dự án.
  • Tạo vài trang tĩnh và động (pages/index.js, pages/about.js).
  • Sử dụng getStaticProps, getServerSideProps để hiểu cách fetch data.

? 4. Xây dựng một dự án thực tế

  • Blog cá nhân (Next.js + Markdown)
  • Dashboard (Next.js + Tailwind + Chart.js)
  • Website e-commerce (Next.js + Stripe + MongoDB)

? 5. Học từ source code mở
Xem các repo Next.js trên GitHub, đọc code từ các dự án thực tế.

Next.js được sử dụng bởi nhiều công ty lớn nhờ khả năng tối ưu SEO, hiệu suất cao và trải nghiệm mượt mà. Dưới đây là một số trang web tiêu biểu:

? Các website nổi bật dùng Next.js

? 1. Vercel (https://vercel.com)

  • Chính là công ty tạo ra Next.js.
  • Sử dụng Next.js để hiển thị tài liệu, dashboard và trang chủ.

? 2. TikTok (https://www.tiktok.com)

  • Dùng Next.js để tối ưu tốc độ tải trang, đặc biệt trên desktop.
  • Hỗ trợ SEO tốt hơn so với SPA thuần React.

? 3. Netflix Jobs (https://jobs.netflix.com)

  • Trang tuyển dụng của Netflix.
  • Dùng Next.js để tăng tốc load trang, giúp tìm kiếm công việc nhanh hơn.

? 4. Hulu (https://www.hulu.com)

  • Cải thiện trải nghiệm người dùng bằng SSR & ISR.
  • Load nội dung động nhanh hơn so với React thuần.

? 5. Nike (https://www.nike.com)

  • Trang thương mại điện tử lớn sử dụng Next.js.
  • Hiển thị sản phẩm nhanh, tối ưu SEO và performance.

? 6. Twitch (https://www.twitch.tv)

  • Sử dụng Next.js cho frontend, tối ưu tải trang cho người xem livestream.

? 7. Binance (https://www.binance.com)

  • Dùng Next.js để hiển thị giá tiền điện tử theo thời gian thực.

? 8. Notion (https://www.notion.so)

  • Next.js giúp load nội dung nhanh hơn khi truy cập các trang tài liệu.

? Tại sao các công ty lớn chọn Next.js?

Hiệu suất cao: Giúp load trang nhanh, giảm tải cho server.
SEO tốt: SSR giúp Google index nội dung nhanh hơn.
Dễ triển khai: Kết hợp tốt với Vercel, AWS, Cloudflare.
Hỗ trợ API Routes: Dễ dàng xây dựng backend nhỏ ngay trong Next.js.

Bạn có muốn thử code một dự án Next.js đơn giản không? ?

Hướng dẫn bạn tạo một dự án Next.js đơn giản từ đầu.


? Bước 1: Cài đặt dự án Next.js

Mở terminal và chạy lệnh sau:

npx create-next-app@latest my-next-app
cd my-next-app
npm run dev

? Điều này sẽ tạo một project Next.js và chạy nó trên http://localhost:3000/.


? Bước 2: Tạo trang đầu tiên

Mở file pages/index.js và thay đổi nội dung như sau:

export default function Home() {
  return (
    <div>
      <h1>Chào mừng đến với Next.js!</h1>
      <p>Đây là một trang Next.js đơn giản.</p>
    </div>
  );
}

➡ Bây giờ, trang chủ của bạn sẽ hiển thị dòng chữ này.


? Bước 3: Tạo trang động

Tạo một file mới pages/about.js và thêm nội dung:

export default function About() {
  return (
    <div>
      <h1>Giới thiệu</h1>
      <p>Đây là trang giới thiệu của website.</p>
    </div>
  );
}

✔ Truy cập http://localhost:3000/about để xem trang này.


? Bước 4: Fetch dữ liệu từ API

Tạo một file mới pages/api/hello.js (Next.js hỗ trợ API Routes).

Thêm đoạn code sau:

export default function handler(req, res) {
  res.status(200).json({ message: "Xin chào từ API Next.js!" });
}

✔ Mở trình duyệt và truy cập http://localhost:3000/api/hello, bạn sẽ thấy dữ liệu JSON hiển thị.


? Bước 5: Sử dụng getServerSideProps để fetch dữ liệu

Mở file pages/index.js và sửa lại như sau:

export default function Home({ data }) {
  return (
    <div>
      <h1>Danh sách bài viết</h1>
      <ul>
        {data.map((post) => (
          <li key={post.id}>{post.title}</li>
        ))}
      </ul>
    </div>
  );
}

export async function getServerSideProps() {
  const res = await fetch("https://jsonplaceholder.typicode.com/posts?_limit=5");
  const data = await res.json();

  return { props: { data } };
}

✔ Điều này giúp trang chủ fetch dữ liệu từ API và hiển thị danh sách bài viết.


Bước 6: Triển khai lên Vercel

Cài đặt Vercel CLI:

npm i -g vercel

Sau đó chạy:

vercel

✔ Chỉ cần vài bước thiết lập, website của bạn sẽ được deploy trên Vercel.


? Hoàn thành! Bây giờ bạn đã có một website Next.js đơn giản với routing, API và SSR.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow

hieutruong Hiệu trưởng trường đại học Bôn Ba