Skip to main content
Đây là tài liệu Inertia.js v1, phiên bản không còn được duy trì tích cực. Vui lòng tham khảo tài liệu v3.
Khi điều hướng lịch sử trình duyệt, Inertia khôi phục các trang bằng dữ liệu props được cache trong history state. Tuy nhiên, Inertia không khôi phục state cục bộ của page component vì phần này nằm ngoài phạm vi quản lý của nó. Điều này có thể khiến các trang trong lịch sử trình duyệt trở nên lỗi thời. Ví dụ, nếu người dùng mới điền một phần form rồi điều hướng sang nơi khác và sau đó quay lại, form sẽ bị reset và phần dữ liệu họ đã nhập sẽ mất. Để giảm thiểu vấn đề này, bạn có thể cho Inertia biết state cục bộ nào của component cần được lưu vào lịch sử trình duyệt.

Lưu state cục bộ

Để lưu state cục bộ của component vào history state, hãy dùng tính năng remember để cho Inertia biết dữ liệu nào cần ghi nhớ.
Từ đó, mỗi khi state form cục bộ thay đổi, Inertia sẽ tự động lưu dữ liệu này vào history state và cũng tự động khôi phục khi điều hướng lịch sử.

Nhiều component

Nếu trang có nhiều component cùng sử dụng chức năng remember của Inertia, bạn cần cung cấp một key duy nhất cho từng component để Inertia biết dữ liệu nào cần khôi phục vào component nào.
Nếu có nhiều instance của cùng một component trên trang sử dụng remember, hãy đảm bảo mỗi instance cũng có một key duy nhất, chẳng hạn định danh model.

Form helper

Nếu đang dùng form helper của Inertia, bạn có thể truyền một form key duy nhất làm đối số đầu tiên khi khởi tạo form. Khi đó dữ liệu và lỗi của form sẽ tự động được ghi nhớ.

Lưu state thủ công

Thuộc tính remember trong Vue 2 và hook useRemember trong Vue 3, React và Svelte đều theo dõi thay đổi dữ liệu và tự động lưu các thay đổi đó vào history state. Sau đó, Inertia sẽ khôi phục dữ liệu khi trang được tải. Tuy nhiên, bạn cũng có thể tự quản lý việc này bằng các phương thức nền tảng remember()restore() của Inertia.

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 v1 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.