useHttp cung cấp trải nghiệm phát triển tương tự useForm nhưng dành cho HTTP request độc lập.
Cách dùng cơ bản
HookuseHttp nhận dữ liệu ban đầu và trả về reactive state cùng các phương thức gửi HTTP request.
useHttp không kích hoạt page navigation hay tương tác với page lifecycle của Inertia. Đây là HTTP request thông thường trả JSON response.
Gửi dữ liệu
Hook cung cấp các phương thức tiện íchget, post, put, patch và delete. Ngoài ra còn có phương thức submit tổng quát cho HTTP method động.
Promise resolve với dữ liệu JSON response đã parse. Người dùng TypeScript có thể khai báo type cho request data và response.
Bind endpoint trước
Bạn có thể truyền HTTP method và URL làm hai đối số đầu củauseHttp(), sau đó gọi submit() không cần đối số để gửi request. Cách này cũng mở khóa validation thời gian thực. Xem Precognition để biết chi tiết.
Nhiều request
Mỗi instanceuseHttp theo dõi processing, errors và reactive state riêng. Khi gửi các request độc lập, bạn có thể tạo instance riêng cho từng request để state không xung đột.
Reactive state
HookuseHttp cung cấp các reactive property tương tự useForm:
Lỗi validation
Khi request trả status code422, hook tự động parse validation error và cung cấp chúng qua thuộc tính errors.
Hiển thị tất cả lỗi
Mặc định, validation error được rút gọn còn message đầu tiên cho mỗi field. Bạn có thể nốiwithAllErrors() để nhận toàn bộ error message dưới dạng mảng, hữu ích với field có nhiều validation rule.
useForm và component <Form>.
Tải file lên
Khi dữ liệu có file, hook tự động gửi request dưới dạngmultipart/form-data. Tiến trình upload có sẵn qua thuộc tính progress.
Hủy request
Bạn có thể hủy request đang chạy bằng phương thứccancel().
Optimistic updates
HookuseHttp hỗ trợ optimistic update qua phương thức optimistic(). Callback nhận dữ liệu hiện tại và nên trả về partial update để áp dụng ngay.
Callback sự kiện
Mỗi phương thức submit nhận options object với các lifecycle callback:false từ onBefore để hủy request.
Truy cập HTTP response
CallbackonSuccess nhận dữ liệu response đã parse làm đối số đầu và HTTP response object làm đối số thứ hai. Response object chứa status, data và headers, hữu ích khi cần kiểm tra status code hoặc response header.
HTTP exception
CallbackonHttpException chạy khi server trả HTTP error không phải 422, chẳng hạn 500 hoặc 403. Callback nhận HTTP response object, cho phép truy cập status code, response body và header.
Network error
CallbackonNetworkError chạy khi request thất bại do vấn đề mạng, chẳng hạn người dùng mất kết nối Internet. Callback nhận object Error.
Precognition
HookuseHttp hỗ trợ Laravel Precognition cho validation thời gian thực. Bật tính năng bằng cách nối withPrecognition() với HTTP method và validation endpoint.
validate(), touch(), touched(), valid() và invalid() trở nên khả dụng và hoạt động giống form precognition.
History state
Bạn có thể lưu dữ liệu và lỗi vào browser history state bằng cách truyền remember key làm đối số đầu tiên.dontRemember().