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

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

  • 50

Справка по встроенным методам в 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-шаблона.
  • Подготовка данных для отображения.
Начните с нами: 6 месяцев бесплатного хостинга!
Используйте промокод FREE6MONTH и раскройте потенциал своего сайта без финансовых вложений.
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)
Бесплатный хостинг на 6 месяцев для новых пользователей!
Примените промокод FREE6MONTH и получите высокоскоростной хостинг без оплаты.

🔹 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 — это быстрый и простой хостинг для тех, кто ценит удобство и стабильность.

  • Без падений и нервов — наш uptime почти всегда 100%.
  • Гибкие тарифы — только нужные функции, ничего лишнего.
  • Скорость— сайты грузятся, как пуля!
  • Удобно — разобраться сможет даже новичок, всё под рукой.
  • Поддержка всегда рядом 24/7 поможем решить любой вопрос.

Заходите на Siteko.net и попробуйте нас бесплатно первый месяц! Мы делаем всё, чтобы ваш сайт работал без проблем.

Siteko.net — просто, быстро и надёжно!