Tạo once props
Để tạo once prop, dùng methodInertia::once() khi trả response. Method nhận callback trả về dữ liệu prop.
Buộc refresh
Bạn có thể buộc once prop refresh bằng methodfresh().
Refresh từ client
Bạn có thể refresh once prop từ phía client bằng partial reload. Server luôn resolve once prop khi nó được yêu cầu rõ ràng.Thời gian hết hạn
Bạn có thể đặt thời gian hết hạn bằng methoduntil(). Method nhận DateTimeInterface, DateInterval hoặc integer (giây). Prop sẽ được refresh trong một visit tiếp theo sau khi thời gian hết hạn đã qua.
Custom key
Bạn có thể gán custom key cho prop bằng methodas(). Điều này hữu ích khi muốn chia sẻ dữ liệu qua nhiều trang nhưng dùng tên prop khác nhau.
Chia sẻ once props
Bạn có thể chia sẻ once props toàn cục bằng methodInertia::share().
shareOnce().
as(), fresh() và until() vào method shareOnce.
shareOnce() chuyên biệt trong middleware. Middleware sẽ evaluate cả share() và shareOnce(), sau đó merge kết quả.
Once props có điều kiện
Một số shared data hầu như ổn định nhưng thay đổi ở thời điểm cụ thể, chẳng hạn authenticated user. Bạn có thể trả once prop khi user đã đăng nhập vànull nếu chưa. Đăng nhập và đăng xuất thường kết thúc bằng redirect tới page không yêu cầu rõ prop auth, nên once value đã nhớ có thể bị stale.
Trả null ở request khi đã đăng xuất sẽ ghi đè user đã nhớ trong mọi response, còn trả once prop khi đã xác thực cho phép client ghi nhớ user qua các visit.
Prefetch
Once props tương thích với prefetching. Client tự động đưa once props đã nhớ vào prefetched response, nên khi điều hướng tới page đã prefetch, once props đã sẵn sàng. Trang prefetch chứa once prop đã hết hạn sẽ bị invalid khỏi cache.Kết hợp với loại prop khác
Modifieronce() có thể nối vào deferred, merge và optional props.