Tanggal :11 September 2024
Mencegah Banyak Request Laravel Livewire

Menangani Masalah Banyak Request Livewire

Assalamualaikum Warohmatulloh Wabarokatuh, kebanyakan developer mengeluhkan atau meragukan performa Livewire jika digunakan untuk membangun aplikasi. Karena secara default Livewire memang mengirimkan banyak request ke server. Sebenarnya di dalam dokumentasinya sudah dijelaskan cara untuk menangani masalah banyak request Livewire yang dikirim ke server.

Sebelum kita bahas solusi, kita pahami cara kerja Livewire ketika kita menggunakan wire:model. Jadi secara default wire:model akan mengirimkan 1 request tiap 100ms, karena cara kerjanya yang seperti itulah yang menyebabkan banyak request yang terkirim ke server.

Jadi permasalahannya ada pada jeda waktu singkat Livewire mengirimkan request. Nah solusinya ada tiga cara yang bisa digunakan untuk menangani masalah ini.

Menggunakan Debounce

Teknik pertama yang bisa digunakan untuk mengurangi banyak request yang dikirimkan oleh Livewire ke server adalah dengan debounce. Dengan debounce kita dapat mengurangi jumlah request yang dikirim dengan memperbesar interval waktunya. Jika secara default 100ms Livewire mengirimkan request maka dengan debounce kita bisa atur sesuai kebutuhan kita. Misalnya kita akan atur dengan 500ms.

<input type="text" wire:model.debounce.500ms="name" />

Menggunakan Lazy

Cara kedua menggunakan lazy, teknik ini sedikit berbeda dengan debounce yang menggunakan waktu untuk mengurangi request Livewire ke server. Teknik lazy ini hanya akan mengirimkan request ketika cursor meninggalkan inputan atau mungkin bisa kita ibaratkan seperti event onLeave seperti itu.

<input type="text" wire:model.lazy="name" />

Menggunakan Defer

Nah cara ketiga atau terakhir, bisa menggunakan defer. Dengan teknik ini Livewire hanya akan mengirimkan request jika sebuah form di submit. Selama form tidak di submit Livewire tidak akan mengirimkan request sama sekali.

<input type="text" wire:model.defer="name" />

Demikian tiga cara yang bisa digunakan untuk mengurangi banyak request yang dikirimkan Livewire ke server, semoga bermanfaat.

Wassalamualaikum Warohmatulloh Wabarokatuh

Hai semua, saya Amirul seorang Software Engineer, suka membuat konten pembelajaran berupa artikel, video tutorial maupun podcast

Tinggalkan Balasan