Усе, що нам відомо про Livewire 4

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 02 серпня, 2025
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

На другий день Laracon US 2025 Caleb Porzio презентував Livewire 4, демонструючи наступну велику версію Livewire. Не можу передати всіх нюансів його виступу, тому радимо подивитися презентацію Келеба на Laracon US 2025.

Намагатимусь викласти основні моменти, але все ж не пропустіть його виступ!

Livewire 4 надає суттєве підвищення продуктивності завдяки Blaze, вдосконалюючи досвід розробника у створенні компонентів та організації їх:

# Організація компонентів Livewire

У Livewire 4 компоненти за замовчуванням створюються в одному файлі, що зручно об'єднує код компонента для вигляду, PHP-логіки та JavaScript.

Компонент Livewire 4 в одному файлі
Компонент Livewire 4 в одному файлі

Якщо ваш компонент починає розростатися або ви віддаєте перевагу роботі з окремими файлами для виглядів, компонентів та JS, можна створити багатофайлові компоненти (MFC), які розділяють різні частини Livewire компонента на окремі, але сумісні файли:

Багатофайлові компоненти Livewire 4 (MFC)
Багатофайлові компоненти Livewire 4 (MFC)

У MFC JavaScript-файли постачаються як ES6 модулі, що дозволяє використовувати будь-який JS усередині файлу. Це також вирішує проблеми з підсвіткою синтаксису, які є у SFC.

# Livewire Visit

Livewire 4 має API, що працює з Pest 4, під назвою Livewire::visit(), що виконує тестування компонентів Livewire у браузері та використовує Playwright, подібно до API visit() у Pest 4.

Використання API Livewire::visit() з Pest 4 та Livewire
Використання API Livewire::visit() з Pest 4 та Livewire

# Blaze, Слоти, Острови — О, Боже!

Livewire 4 підтримує слоти, що працюють, як ви очікуєте, через {{ $slot }}, але справжнім відкриттям стали величезні прирости продуктивності завдяки Blaze, що робить рендеринг надзвичайно швидким!

Поряд з Blaze, компонент @island у Livewire 4 дозволяє винести частину компонента, яка вимагає великих ресурсів, на "острів". На такому острові ця частина компонента не вплине на продуктивність інших частин. Використовуючи аргумент lazy: true, можна налаштувати відкладене завантаження острова. Також можна виконувати опитування острова: @island(poll: '5s'). Ось приклад із виступу Келеба на Laracon US:

Використання острова з заповнювачем для відображення даних
Використання острова з заповнювачем для відображення даних
Заповнювач рендериться під час завантаження острова
Заповнювач рендериться під час завантаження острова

Яка з нових функцій вас найбільше вражає? Діліться враженнями у вашій улюбленій соціальній мережі!