Skip to main content
Bạn đang xem tài liệu Inertia.js v2. Inertia.js v3 đã được phát hành và hiện là phiên bản mặc định. Hãy xem hướng dẫn nâng cấp để bắt đầu.
Bạn có thể xem tài liệu cũ của Inertia.js v1.0 tại inertiajs.com/docs/v1.

Có gì mới

Inertia.js v2.0 là một bước tiến rất lớn của Inertia! Core library đã được viết lại hoàn toàn về mặt kiến trúc để hỗ trợ asynchronous request, qua đó mở ra nhiều tính năng mới, bao gồm:

Polling (thăm dò định kỳ)

Giữ dữ liệu luôn mới bằng cách tự động polling server theo khoảng thời gian được chỉ định.

Tải trước (prefetching)

Tăng tốc điều hướng bằng cách prefetch dữ liệu cho link khi chúng trở nên hiển thị.

Props tải trì hoãn (deferred props)

Tải dữ liệu không thiết yếu sau lần tải trang ban đầu để cải thiện hiệu năng.

Cuộn vô hạn (infinite scrolling)

Tải thêm dữ liệu liền mạch khi người dùng cuộn xuống trang.

Tải dữ liệu khi cuộn đến

Chỉ tải dữ liệu khi nó xuất hiện trong viewport.

Mã hóa history

Xóa dữ liệu trang khỏi history state của trình duyệt khi đăng xuất khỏi ứng dụng.

Nâng cấp dependency

Để nâng cấp lên Inertia.js v2.0, trước tiên dùng npm để cài client-side adapter bạn muốn:
Tiếp theo, nâng cấp package inertiajs/inertia-laravel để dùng nhánh dev 2.x:

Breaking changes

Mặc dù là một bản phát hành lớn, Inertia.js v2.0 không đưa ra quá nhiều breaking change. Dưới đây là toàn bộ thay đổi không tương thích ngược:

Ngừng hỗ trợ Laravel 8 và 9

Laravel adapter hiện yêu cầu tối thiểu Laravel 10 và PHP 8.1.

Ngừng hỗ trợ Vue 2

Adapter Vue 2 đã bị loại bỏ. Vue 2 kết thúc vòng đời vào ngày 3 tháng 12 năm 2023, vì vậy đây là thời điểm phù hợp để ngừng hỗ trợ.

Phương thức replace của Router

Phương thức router.replace trước đây đã deprecated nay được khôi phục, nhưng chức năng đã thay đổi. Nó hiện được dùng để thực hiện client-side visit. Để thực hiện server-side visit thay thế history entry hiện tại trong trình duyệt, hãy dùng tùy chọn replace:

Svelte adapter

  • Ngừng hỗ trợ Svelte 3 vì phiên bản này đã kết thúc vòng đời vào ngày 20 tháng 6 năm 2023.
  • Helper remember được đổi tên thành useRemember để nhất quán với các helper khác.
  • Callback setup trong app.js đã được cập nhật. Bạn cần truyền props khi khởi tạo component App. Xem phần setup trong app.js
  • Callback setup giờ là bắt buộc trong ssr.js. Xem phần setup trong ssr.js

Partial reload giờ chạy bất đồng bộ

Trước đây partial reload trong Inertia chạy đồng bộ, giống mọi request Inertia khác. Trong v2.0, partial reload chuyển sang bất đồng bộ. Nhìn chung đây là hành vi mong muốn, nhưng nếu code của bạn phụ thuộc vào việc các request này chạy đồng bộ thì có thể cần điều chỉnh.

Tài liệu chính thức

Bài dịch này được đối chiếu từ tài liệu Inertia.js v2 chính thức. Nếu có khác biệt do phiên bản hoặc cập nhật mới, hãy ưu tiên tài liệu chính thức làm nguồn tham chiếu.