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: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ànhuseRememberđể nhất quán với các helper khác. - Callback
setuptrongapp.jsđã được cập nhật. Bạn cần truyềnpropskhi khởi tạo componentApp. Xem phần setup trong app.js - Callback
setupgiờ là bắt buộc trongssr.js. Xem phần setup trong ssr.js