Livewire ломается не в шаблоне, а в границах состояния и событий
Есть наблюдение которое стоит проверить: большинство багов в Livewire — это не «магия фреймворка», а разъехавшийся state между PHP и DOM. Если компонент начинает жить дольше одного экрана, сразу появляются лишние запросы, повторные рендеры и неожиданные сбросы формы.
Держите базовый чек-лист:
— выносите в public только то, что реально нужно для рендера;
— тяжёлую логику уводите в сервисы, а не в методы компонента;
— для коллекций и списков задавайте стабильные ключи, иначе DOM начнёт переиспользовать не те узлы;
— события используйте точечно, а не как шину на всё подряд.
Отдельно проверяйте загрузки и валидацию: временные файлы, ошибки после async-действий и повторный сабмит чаще всего всплывают там, где форма кажется «уже готовой». Если компонент зависит от внешнего запроса, не тащите ответ в состояние без нужды — лучше хранить минимальный набор данных и пересчитывать представление на рендере.
Если Livewire начинает вести себя странно, сначала ищите не баг в Blade, а лишнее состояние, нестабильные ключи и слишком широкую зону реактивности.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Livewire ломается не в шаблоне, а в границах состояния и событий
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.