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.
Tính năng deferred props của Inertia cho phép trì hoãn việc tải một số dữ liệu trang cho đến sau khi lần render ban đầu hoàn tất. Điều này giúp cải thiện hiệu năng cảm nhận bằng cách cho phép trang ban đầu render nhanh nhất có thể.

Phía máy chủ

Để defer một prop, bạn có thể dùng method Inertia::defer() khi trả response. Method nhận callback trả dữ liệu prop. Callback sẽ được thực thi trong một request riêng sau lần render trang ban đầu.

Nhóm request

Mặc định, tất cả deferred props được fetch trong một request sau khi trang ban đầu đã render, nhưng bạn có thể fetch song song bằng cách nhóm các prop.
Trong ví dụ trên, props teams, projectstasks được fetch trong một request, còn prop permissions được fetch song song trong request riêng. Tên group là chuỗi tùy ý và có thể đặt theo ý bạn.

Phía client

Ở phía client, Inertia cung cấp component Deferred để quản lý deferred props. Component tự động chờ các deferred prop được chỉ định có sẵn trước khi render children.

Nhiều deferred prop

Nếu cần chờ nhiều deferred prop cùng có sẵn, bạn có thể truyền một array vào prop data.

Kết hợp với Once Props

Bạn có thể nối modifier once() vào deferred prop để đảm bảo dữ liệu chỉ được resolve một lần và được phía client ghi nhớ qua các lần điều hướng tiếp theo.
Để biết thêm về once props, xem tài liệu once props.

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.