Livewire ломается не на шаблонах, а на границе состояния и запросов
Если компонент начинает вести себя странно, проверяйте не Blade, а то, что живёт между рендерами: публичные свойства, события, кэш и вложенные формы. Livewire любит простой state, но плохо переносит «магические» объекты, сложные коллекции и скрытые побочные эффекты.
Типовые ошибки:
— хранить в public-свойствах Eloquent-модели вместо ID или примитивов;
— менять данные в render(), а не в action-методе;
— забывать про unique:key в списках и получать фантомные перерисовки;
— смешивать в одном компоненте валидацию, загрузку файлов и бизнес-логику.
Хорошее правило: компонент должен быть тонкой оболочкой над действием. Внутри — чтение состояния, валидация, вызов сервиса, обновление полей. Если логика расползается, вы теряете предсказуемость и начинаете лечить симптомы, а не причину.
Ещё один маркер: если для понимания одного компонента нужно открыть пять соседних, его пора дробить. Разделяйте форму, таблицу, фильтры и модалки по отдельным компонентам, а общие операции выносите в сервисы или actions.
Держите Livewire как слой интерфейса, а не как место, где живёт вся бизнес-логика — тогда он остаётся быстрым, читаемым и не превращается в источник случайных багов.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Livewire ломается не на шаблонах, а на границе состояния и запросов
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.