router.visit().
router.visit().
reload() là cách viết tắt tiện lợi, tự động truy cập lại trang hiện tại với cả preserveState và preserveScroll đều được đặt thành true, vì vậy rất phù hợp khi bạn chỉ muốn tải lại dữ liệu của trang hiện tại.
Phương thức
Khi thực hiện truy cập thủ công, bạn có thể dùng tùy chọnmethod để đặt HTTP method của request thành get, post, put, patch hoặc delete. Method mặc định là get.
put hoặc patch. Thay vào đó, hãy gửi request bằng post, kèm field _method đặt thành put hoặc patch. Kỹ thuật này gọi là form method spoofing.
Wayfinder
v2.1.2+ Khi sử dụng Wayfinder, bạn có thể truyền object kết quả trực tiếp vào bất kỳ phương thức router nào. Router sẽ tự suy ra HTTP method và URL từ object Wayfinder.method, tùy chọn method được ưu tiên.
Dữ liệu
Bạn có thể dùng tùy chọndata để thêm dữ liệu vào request.
get(), post(), put() và patch() đều nhận data làm đối số thứ hai.
Header tùy chỉnh
Tùy chọnheaders cho phép bạn thêm header tùy chỉnh vào request.
Tùy chọn visit toàn cục
Bạn có thể cấu hình callbackvisitOptions khi khởi tạo ứng dụng Inertia để sửa các tùy chọn visit trên toàn cục cho mọi request. Callback nhận URL đích và các tùy chọn visit hiện tại, sau đó cần trả về object chứa những tùy chọn bạn muốn ghi đè.
Tải file lên
Khi thực hiện lần truy cập / request có chứa file, Inertia sẽ tự động chuyển dữ liệu request thành objectFormData. Nếu muốn request luôn dùng object FormData, bạn có thể sử dụng tùy chọn forceFormData.
Lịch sử trình duyệt
Khi thực hiện các lần truy cập, Inertia tự động thêm một entry mới vào lịch sử trình duyệt. Tuy nhiên, bạn cũng có thể thay thế entry lịch sử hiện tại bằng cách đặt tùy chọnreplace thành true.
replace thành true.
Visit phía client
Bạn có thể dùng các phương thứcrouter.push và router.replace để thực hiện visit hoàn toàn phía client. Các phương thức này hữu ích khi muốn cập nhật history của trình duyệt mà không gửi request đến máy chủ.
errorBag) sẽ được merge với trang hiện tại. Điều này có nghĩa bạn chịu trách nhiệm ghi đè URL, component và props của trang hiện tại khi cần.
Nếu cần truy cập props của trang hiện tại, bạn có thể truyền một function vào tùy chọn props. Function này nhận props hiện tại (bao gồm mọi once props) và cần trả về props mới.
errorBag cho phép chỉ định error bag dùng khi xử lý lỗi validation trong callback onError.
Hãy đảm bảo mọi route bạn push ở phía client cũng được định nghĩa ở phía máy chủ. Nếu người dùng refresh trang, máy chủ cần biết cách render trang đó.
Prop helper
Inertia cung cấp ba phương thức helper để cập nhật page props mà không gửi request đến máy chủ. Đây là các cách viết tắt củarouter.replace() và tự động đặt preserveScroll cùng preserveState thành true.
Giữ lại state
Mặc định, các lần truy cập lại cùng một trang sẽ tạo một instance page component mới. Điều này khiến các state cục bộ như input của form, vị trí cuộn và trạng thái focus bị mất. Tuy nhiên, trong một số tình huống, cần giữ lại state của page component. Ví dụ, khi submit form, bạn cần giữ dữ liệu form nếu validation form thất bại ở phía máy chủ. Vì lý do này, các phương thứcpost, put, patch, delete và reload đều đặt tùy chọn preserveState thành true theo mặc định.
Bạn có thể yêu cầu Inertia giữ state của component khi sử dụng phương thức get bằng cách đặt tùy chọn preserveState thành true.
preserveState thành “errors”.
preserveState dựa trên response bằng cách cung cấp một callback.
Giữ vị trí cuộn
Khi điều hướng giữa các trang, Inertia mô phỏng hành vi mặc định của trình duyệt bằng cách tự động đưa vị trí cuộn của document body (cũng như mọi vùng cuộn đã định nghĩa) trở lại đầu trang. Bạn có thể tắt hành vi này bằng cách đặt tùy chọnpreserveScroll thành true.
preserveScroll thành “errors”.
preserveScroll dựa trên response bằng cách cung cấp một callback.
Tải lại một phần
Tùy chọnonly cho phép bạn chỉ yêu cầu một tập con props (dữ liệu) từ máy chủ trong các lần truy cập tiếp theo đến cùng một trang, qua đó giúp ứng dụng hiệu quả hơn vì không cần truy xuất dữ liệu mà trang không có nhu cầu làm mới.
View Transition
Bạn có thể bật View transition cho một visit bằng cách đặt tùy chọnviewTransition thành true. Khi đó Inertia sử dụng View Transitions API của trình duyệt để tạo hiệu ứng chuyển trang.
Hủy lần truy cập
Bạn có thể hủy một lần truy cập bằng cancel token mà Inertia tự động tạo và cung cấp thông qua callbackonCancelToken() trước khi thực hiện truy cập.
onCancel() và onFinish() sẽ được thực thi khi một lần truy cập bị hủy.
Callback sự kiện
Ngoài sự kiện toàn cục của Inertia, Inertia còn cung cấp nhiều callback sự kiện cho từng visit.false từ callback onBefore() sẽ khiến lần truy cập bị hủy.
onSuccess() và onError(). Khi làm vậy, sự kiện “finish” sẽ được trì hoãn cho đến khi promise được resolve.