РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
154 of 274 menu

Хук hydrate

Хук hydrate вызывается автоматически в процессе гидратации компонента Livewire. Он срабатывает после того, как компонент был восстановлен из хранимого состояния при каждом запросе, но до того, как будет обработано действие. Этот метод полезен для выполнения дополнительной инициализации, которая должна происходить при каждом восстановлении компонента.

Синтаксис

<?php namespace AppLivewire; use LivewireComponent; class Post extends Component { public function hydrate() { // Code to run after hydration } public function render() { return view('livewire.post'); } } ?>

Пример

Давайте воспользуемся хуком hydrate для проверки актуальности данных после гидратации компонента:

<?php namespace AppLivewire; use LivewireComponent; use AppModelsPost as PostModel; class Post extends Component { public $postId; public $title; public $content; public $isValid = true; public function mount($id) { $this->postId = $id; $post = PostModel::find($id); $this->title = $post->title; $this->content = $post->content; } public function hydrate() { $post = PostModel::find($this->postId); if (!$post || $post->is_archived) { $this->isValid = false; } } public function render() { return view('livewire.post'); } } ?>
<div> @if ($isValid) <h2>{{ $title }}</h2> <p>{{ $content }}</p> @else <p>Запись была удалена или архивирована</p> @endif </div>

Пример

Давайте используем хук hydrate для логирования восстановления компонента:

<?php namespace AppLivewire; use LivewireComponent; use IlluminateSupportFacadesLog; class Logger extends Component { public $counter = 0; public function hydrate() { Log::info('Component hydrated with counter: ' . $this->counter); } public function increment() { $this->counter++; } public function render() { return view('livewire.logger'); } } ?>
<div> <p>Счетчик: {{ $counter }}</p> <button wire:click="increment">Увеличить</button> </div>

Результат выполнения кода в логе:

"Component hydrated with counter: 0" "Component hydrated with counter: 1" "Component hydrated with counter: 2"

Смотрите также

  • метод dehydrate,
    который вызывается перед сохранением состояния компонента
  • метод mount,
    который вызывается при инициализации компонента
  • метод updated,
    который вызывается после обновления свойства
  • метод rendered,
    который вызывается после рендеринга компонента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить