Ben Borgers / Posts /

How to get current URL in Livewire component

January 24, 2021 by @benborgers

In Laravel, you can get the current URL by running url()->current(). However, Livewire kind of breaks this — after subsequent Livewire requests, the "current URL" will be equal to the internal Livewire URL, not the actual page's URL.

An easy fix for this is to save the current URL when the component first loads, using the mount method. Here's a piece of the Livewire component:

public $currentUrl;

public function mount()
{
    $this->currentUrl = url()->current();
}

Now, you can use $currentUrl in your Livewire component instead of url()->current(), and it will work as expected.

A quick favor: was anything I wrote incorrect or misspelled, or do you still have questions? Please use this form to let me know or ask for help!

Loading...