Livewire ломает не верстка, а границы между состоянием и запросами
Частая ошибка — тащить в компонент всё подряд: фильтры, пагинацию, загрузку файлов, модалки и ещё половину страницы. В итоге компонент разрастается, а любое действие цепляет лишние перерисовки.
Держите компонент узким:
— один экран или одна бизнес-операция;
— явные публичные свойства;
— минимум логики в render();
— тяжёлые вычисления выносите в сервис или query object.
Ещё одна боль — неправильные события. Если компонент начинает слушать всё на свете, отладка превращается в поиск призраков. Лучше передавать данные через action, а события оставлять для действительно независимых частей интерфейса. Для списков и форм это особенно заметно: меньше магии, меньше сюрпризов.
И проверьте, не ломает ли состояние валидация и загрузка файлов. Если после submit форма живёт своей жизнью, обычно проблема в том, что свойства сбрасываются не там, где нужно, или два компонента делят один и тот же источник данных.
Livewire хорош там, где нужен быстрый UX без тяжёлого SPA-пайплайна. Но выигрывает он только у тех, кто заранее режет компонент по ответственности.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Livewire ломает не верстка, а границы между состоянием и запросами
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.