<Link> của Inertia. Component này là lớp wrapper nhẹ quanh anchor link <a> tiêu chuẩn, intercept click event và ngăn full-page reload. Đây là cách Inertia mang lại trải nghiệm single-page app sau khi ứng dụng đã được tải.
Tạo liên kết
Để tạo liên kết Inertia, hãy dùng component<Link>. Mọi attribute truyền vào component sẽ được proxy xuống thẻ HTML bên dưới.
<a>. Tuy nhiên, bạn có thể thay đổi thẻ bằng prop as.
Không khuyến khích tạo anchor link (
<a>) gửi request POST, PUT, PATCH hoặc DELETE vì gây vấn đề accessibility với thao tác “Open Link in New Tab / Window”. Component tự động render phần tử <button> khi dùng các method này.Phương thức
Bạn có thể chỉ định HTTP method cho request của liên kết Inertia bằng propmethod. Method mặc định của liên kết là GET, nhưng bạn có thể dùng prop method để thực hiện request POST, PUT, PATCH và DELETE thông qua liên kết.
Wayfinder
Khi dùng Wayfinder cùng componentLink, bạn có thể truyền trực tiếp object kết quả vào prop href. Link sẽ suy ra HTTP method và URL trực tiếp từ Wayfinder object.
Dữ liệu
Khi thực hiện requestPOST hoặc PUT, bạn có thể muốn gửi thêm dữ liệu trong request. Bạn có thể làm việc này bằng prop data. Dữ liệu được cung cấp có thể là một object hoặc instance FormData.
Header tùy chỉnh
Propheaders cho phép thêm header tùy chỉnh vào liên kết Inertia. Tuy nhiên, các header Inertia sử dụng nội bộ để truyền trạng thái của nó đến máy chủ có độ ưu tiên cao hơn và vì vậy không thể bị ghi đè.
Lịch sử trình duyệt
Propreplace cho phép xác định hành vi lịch sử của trình duyệt. Mặc định, các lần truy cập trang sẽ push state mới (window.history.pushState) vào history; tuy nhiên, bạn cũng có thể thay thế state (window.history.replaceState) bằng cách đặt prop replace thành true. Khi đó, lần truy cập sẽ thay thế history state hiện tại thay vì thêm một state mới vào stack.
Giữ lại state
Bạn có thể giữ lại state cục bộ của page component bằng proppreserve-state. Điều này ngăn page component render lại hoàn toàn. Prop preserve-state đặc biệt hữu ích ở các trang chứa form vì bạn không cần tự điền lại các input và vẫn có thể duy trì input đang focus.
Giữ vị trí cuộn
Bạn có thể dùng proppreserveScroll để ngăn Inertia tự động đặt lại vị trí cuộn khi thực hiện một lần truy cập trang.
Tải lại một phần
Proponly cho phép bạn chỉ định rằng chỉ một tập con props (dữ liệu) của trang cần được lấy từ máy chủ trong các lần truy cập tiếp theo đến trang đó.
View Transition
Bạn có thể bật View transitions cho link bằng cách đặt propviewTransition thành true. Cơ chế này dùng View Transitions API của trình duyệt để animate quá trình chuyển trang.
Trạng thái active
Việc thiết lập trạng thái active cho liên kết điều hướng dựa trên trang hiện tại là rất phổ biến. Với Inertia, bạn có thể làm điều này bằng cách kiểm tra objectpage và so sánh chuỗi với các property page.url và page.component.
===), so sánh bằng startsWith() (hữu ích khi khớp một nhóm trang), hoặc thực hiện các phép so sánh phức tạp hơn bằng regular expression.
Với cách tiếp cận này, bạn không bị giới hạn ở việc chỉ đặt class name. Bạn có thể dùng kỹ thuật này để render có điều kiện bất kỳ markup nào theo active state, chẳng hạn text link khác hoặc SVG icon cho biết link đang active.
Thuộc tính loading của dữ liệu
Trong khi liên kết đang thực hiện request, attributedata-loading được thêm vào element liên kết. Điều này cho phép bạn style liên kết trong trạng thái loading. Attribute được gỡ khi request hoàn tất.