/
Prevent a Livewire component from re-rendering
Prevent a Livewire component from re-rendering
Laravel
Livewire

Prevent a Livewire component from re-rendering

Published
Jan 10, 2024
Written by
Benjamin Crozat
0
comments
1 minutes
read

Introduction to re-rendering prevention in Livewire

I previously talked about various ways to re-render a Livewire component. But now, let’s do a 180° and talk about doing the opposite: preventing re-renders!

Block re-renders in a Livewire component

Sometimes, you might want to run an action or listen to an event in a Livewire component. Problem is: this triggers a re-render. The solution? The new Livewire\Attributes\Renderless attribute!

namespace App\Livewire;
 
use Livewire\Component;
use Livewire\Attributes\Renderless;
 
class Show extends Component
{
    #[Renderless] 
    public function incrementViewCount()
    {
        $this->model->incrementViewCount();
    }
}

This can be a huge win for the performances of your Laravel application.

Oh and by the way, if you still can’t deal with PHP’s new attributes, you can use the skipRender() method like so:

namespace App\Livewire;
 
use Livewire\Component;
 
class Show extends Component
{
    public function incrementViewCount()
    {
        $this->model->incrementViewCount();

        $this->skipRender();
    }
}

0 comments