Livewireコンポーネント内から、アプリケーションの別のページへリダイレクトしたい場合もあることでしょう。Livewireは、Laravelコントローラー内で使用するのに慣れている標準のリダイレクトレスポンス構文をサポートしています。
class ContactForm extends Component
{
public $email;
public function addContact()
{
Contact::create(['email' => $this->email]);
return redirect()->to('/contact-form-success');
}
}
<div>
Email: <input wire:model="email">
<button wire:click="addContact">Submit</button>
</div>
これで、ユーザーが「送信」をクリックして連絡先がデータベースに追加されると、成功ページ(/contact-form-success
)へリダイレクトされます。
{note} LivewireはLaravelのリダイレクトシステムで動作するため、
redirect('/foo')
、redirect()->to('/foo')
、redirect()->route('foo')
などの表記法を使用できます。