Polling
Keep data fresh by automatically polling the server at a specified interval.
You can find the legacy docs for Inertia.js v1.0 at inertiajs.com/docs/v1.
Inertia.js v2.0 is a huge step forward for Inertia! The core library has been completely rewritten to architecturally support asynchronous requests, enabling a whole set of new features, including:
Polling
Keep data fresh by automatically polling the server at a specified interval.
Prefetching
Speed up navigation by prefetching data for links when they become visible.
Deferred props
Load non-essential data after the initial page load to improve performance.
Infinite scrolling
Seamlessly load more data as the user scrolls down the page.
Lazy loading data on scroll
Load data only when it becomes visible in the viewport.
History encryption
Clear page data from browser history state when logging out of an application.
To upgrade to the Inertia.js v2.0, first use npm to install the client-side adapter of your choice:
npm install @inertiajs/vue3@^2.0npm install @inertiajs/react@^2.0npm install @inertiajs/svelte@^2.0Next, upgrade the inertiajs/inertia-laravel package to use the 2.x dev branch:
composer require inertiajs/inertia-laravel:^2.0While a significant release, Inertia.js v2.0 doesn’t introduce many breaking changes. Here’s a list of all the breaking changes:
The Laravel adapter now requires Laravel 10 and PHP 8.1 at a minimum.
The Vue 2 adapter has been removed. Vue 2 reached End of Life on December 3, 2023, so this felt like it was time.
replace MethodThe previously deprecated router.replace method has been re-instated, but its functionality has changed. It is now used to make Client Side page visits. To make server-side visits that replace the current history entry in the browser, use the replace option:
router.get('/users', { search: 'John' }, { replace: true })remember helper has been rename to useRemember to be consistent with other helpers.setup callback in app.js. You need to pass props when initializing the App component. See setup in app.jssetup callback is now required in ssr.js. See setup in ssr.jsPreviously partial reloads in Inertia were synchronous, just like all Inertia requests. In v2.0, partial reloads are now asynchronous. Generally this is desirable, but if you were relying on these requests being synchronous, you may need to adjust your code.