Ой, ничего не найдено!

К сожалению, по вашему запросу пока ничего нет (но это только пока!), зато вы можете подписаться на нашу замечательную email-рассылку, чтобы не пропустить самое интересное в будущем.

  • 748

Справка по встроенным методам в Livewire-компонентах

Livewire-компоненты в Laravel имеют собственный жизненный цикл. Фреймворк автоматически вызывает определённые методы, если они объявлены в компоненте. Знание этих методов помогает грамотно управлять состоянием и поведением компонентов.

🔹 mount()

Когда вызывается: Один раз при инициализации компонента (при первом рендере).

Для чего использовать:

  • Внедрение зависимостей через DI.
  • Установка стартовых значений публичных свойств.
  • Выполнение первичной логики перед показом.
public function mount(Post $post) { $this->post = $post; }

🔹 boot()

Когда вызывается: Тоже при инициализации, но до mount().

Для чего использовать:

  • Авторизация ($this->authorize()), политика доступа.
  • Общая подготовка для всех вызовов.
public function boot(AuthManager $auth) { if (! $auth->check()) { abort(403); } }

🔹 render()

Когда вызывается: Каждый раз, когда Livewire должен отрисовать компонент.

Для чего использовать:

  • Возврат Blade-шаблона.
  • Подготовка данных для отображения.
1 месяц бесплатно
Запустите сайт на Siteko.net без стартовых затрат
Быстрый хостинг, понятная панель и поддержка рядом с первого дня. Тестовый месяц доступен сразу после выбора тарифа.
Выбрать хостинг
public function render() { return view('livewire.post-editor', [ 'tags' => Tag::all(), ]); }

🔹 hydrate() / dehydrate()

Когда вызывается:

  • hydrate() — перед каждым повторным рендером (когда Livewire восстанавливает компонент из состояния).
  • dehydrate() — перед отправкой состояния на фронт.

Для чего использовать:

  • Подготовка/очистка свойств.
  • Временные изменения.
public function hydrate() { // Например, сброс временных сообщений $this->flash = null; }

🔹 updating($property, $value) и updated($property, $value)

Когда вызываются:

  • updating — перед изменением свойства.
  • updated — после изменения свойства.

Для чего использовать:

  • Валидация «на лету».
  • Реакция на изменения конкретного свойства.
public function updatingEmail($value) { if (! str_contains($value, '@')) { $this->addError('email', 'Неверный email'); } } public function updatedPassword() { $this->passwordStrength = $this->checkStrength($this->password); }

🔹 updatingFoo() / updatedFoo()

Когда вызываются: Если у тебя есть свойство $foo, то Livewire автоматически вызовет:

  • updatingFoo($value) — перед изменением $foo.
  • updatedFoo($value) — после изменения $foo.

🔹 updatingFooBar() и updatedFooBar()

Фишка: Работает и для вложенных свойств. Если у тебя есть $foo['bar'], то сработают методы:

  • updatingFooBar($value)
  • updatedFooBar($value)
Тестовый период
Оцените хостинг Siteko.net на своем проекте
Один бесплатный месяц поможет проверить панель, скорость и поддержку до оплаты следующего периода.
Открыть Siteko.net

🔹 updating() и updated() (глобальные)

Можно объявить «глобальные хуки» без имени свойства, тогда они будут срабатывать для любого свойства.

public function updating($name, $value) { logger("Изменяется $name на $value"); }

🔹 updatingFoo и updatedFoo vs rules

Хорошо помнить:

  • Для «быстрой валидации» — хуки updating*/updated*.
  • Для финальной валидации перед действием — rules + $this->validate().

🔹 Жизненный цикл в порядке вызова

Чтобы было проще запомнить, вот схема:

  1. boot()
  2. mount()
  3. render() (первый раз)
  4. … (пользователь взаимодействует, что-то меняется) …
  5. hydrate()
  6. updating*() → изменение свойства → updated*()
  7. dehydrate()
  8. render() (снова)

📌 Итог

Встроенные методы Livewire позволяют гибко управлять состоянием компонента и его поведением:

  • boot() / mount() — инициализация.
  • render() — отрисовка.
  • hydrate() / dehydrate() — восстановление и подготовка состояния.
  • updating\*() / updated\*() — реакция на изменения свойств.

Используй их как хуки жизненного цикла — и код в компонентах будет чище и предсказуемее.

Первый месяц бесплатно

Хостинг Siteko.net для стабильного запуска сайта

Разместите проект на Siteko.net и проверьте скорость, панель управления и поддержку без стартовой оплаты.

  • 1 месяц бесплатно для новых клиентов сразу после выбора тарифа.
  • Быстрый старт для лендинга, блога или корпоративного сайта.
  • Поддержка рядом поможет с переносом и настройкой проекта.
Выбрать тариф