Inertia v3 beta — важлива передрелізна версія, яка додає вбудований XHR HTTP-клієнт, новий хук useHttp для окремих HTTP-запитів, оптимістичні оновлення в API роутера й форм, миттєві переходи та інші покращення.
useHttp для окремих HTTP-запитівrouter, useForm та useHttplayout у createInertiaApp()Ось повна доповідь Joe Tannenbaum про Inertia v3 на Laracon EU 2026:
Inertia тепер має власний XHR‑базований HTTP‑клієнт, тож Axios більше не є обовʼязковим. Якщо ваша апка не потребує Axios — можна не встановлювати його; хто звик до Axios, може додати його як peer‑dependency:
import { axiosAdapter } from '@inertiajs/core'
createInertiaApp({
// ...
http: axiosAdapter(),
})
PR: #2833
Новий хук useHttp дозволяє робити HTTP‑запити поза системою Inertia‑visit. Він дає той самий DX, що й useForm — processing, errors, progress, isDirty — але повертає дані відповіді, не викликаючи навігацію. Підтримує withAllErrors для відображення всіх валідаційних помилок.
const http = useHttp({
query: '',
})
const search = () => {
http.get('/api/search').then((results) => {
console.log('Found:', results.length)
})
}
Додана підтримка оптимістичних оновлень у router, useForm і useHttp, включно з одночасними оптимістичними оновленнями. Колбек отримує поточні props і повертає оптимістичний стан, який застосовується одразу, із автоматичним відкатом при помилках валідації, помилках серверу або перерваних візитах.
Роутер підтримує як fluent API, так і inline‑опцію:
// Fluent
router
.optimistic((props) => ({
todos: [...props.todos, { id: Date.now(), name, done: false }],
}))
.post('/todos', { name })
// Inline option
router.post('/todos', { name }, {
optimistic: (props) => ({
todos: [...props.todos, { id: Date.now(), name, done: false }],
}),
})
Хук useForm працює аналогічно:
const form = useForm({ name: '' })
const addTodo = () => {
form
.optimistic((props) => ({
todos: [...props.todos, { id: Date.now(), name: form.name, done: false }],
}))
.post('/todos')
}
Компонент <Form> також отримав проп optimistic для декларативної обробки.
Instant visits дають відчуття миттєвої навігації — сторінка призначення рендериться ще до завершення відповіді сервера.
PR: #2907
Нова серверна опція preserveFragment зберігає хеш‑фрагмент URL під час редиректів. У Laravel можна прикрутити її до redirect‑відповіді:
return redirect('/users')->preserveFragment();
Якщо сервер відправляє preserveFragment: true в Inertia page object, клієнт зберігає фрагмент оригінального запиту, навіть коли URL відповіді відрізняється. Додано також підтримку редиректів, що змінюють хеш‑фрагмент.
Додана опція preserveErrors, яка зберігає поточні валідаційні помилки при часткових запитах, щоб помилки не чистилися під час часткового оновлення сторінки.
PR: #2819
Inertia тепер підтримує SSR у режимі розробки Vite з простішим налаштуванням, що полегшує роботу зі SSR під час розробки.
PR: #2864
Імплементацію прогрес‑бара переписали з використанням нативного Popover API браузера, замінивши попередній підхід.
PR: #2917
Додані хелпери для layout props, щоб краще організувати й передавати дані layout. Тепер у createInertiaApp() є опція layout, і функцію можна викликати без аргументів.
У React createInertiaApp додали опцію strictMode, щоб увімкнути рендеринг у React StrictMode. Якщо setup не заданий, опція обгортає апку в <StrictMode>. При кастомному setup — обгортайте компоненти вручну.
createInertiaApp({
strictMode: true,
// ...
})
PR: #2909
У компоненті <Deferred> зʼявився слот‑проп reloading, щоб показувати індикатор під час часткового перезавантаження. На відміну від fallback, існуючий контент лишається видимим — змінюється лише стан reloading.
<Deferred data="users">
<template #fallback>
<span>Loading...</span>
</template>
<template #default="{ reloading }">
<span v-if="reloading">Reloading...</span>
<div v-for="user in users" :key="user.id">
{{ user.name }}
</div>
</template>
</Deferred>
PR: #2860
Компонент <Form> тепер підтримує TypeScript generics для кращої інференції типів даних форми.
PR: #2849
Серверно відрендерені Inertia‑сторінки помилок тепер тригерять подію onHttpException, що дає єдине місце для обробки HTTP‑виключень незалежно від способу рендерингу.
PR: #2927
Це бета‑реліз зі значними несумісностями. Ретельно перевірте зміни перед оновленням.
Припинена підтримка фреймворків:
Node.js: Мінімальна версія Node.js тепер v24 (#2847)
ESM‑only: CommonJS‑збірки видалені. Inertia відтепер постачається лише як ESM (#2873)
Axios: Axios більше не обовʼязковий. Встановіть його вручну як peer‑dependency, якщо ваша апка його використовує (#2833)
Видалені експорти: hideProgress() та revealProgress() видалені (#2852)
Перейменовано налаштування: useDataElementForInitialPage перейменовано на useDataAttributeForInitialPage; старий параметр видалено (#2871, #2887)
Перейменовано події: Події invalid та exception перейменовано; додано колбеки для visit (#2869)
Сигнатура resolve(): Функція resolve у createInertiaApp() тепер отримує повний page object як опційний другий аргумент, даючи доступ до props, URL, version та іншого контексту сторінки (#2485):
// Before
resolve: (name) => resolvePageComponent(name, import.meta.glob('./Pages/**/*.vue')),
// After
resolve: (name, page) => resolvePageComponent(name, import.meta.glob('./Pages/**/*.vue')),
Поведінка useForm: processing і progress тепер скидаються лише в onFinish, а не раніше в циклі життя компонента (#2838)
Це бета‑реліз і не рекомендується для production. Перед оновленням ознайомтеся з повним changelog.
Джерела
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу
Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!