Inertia.js додав підтримку Flash Data — одноразових даних, які надсилаються на фронтенд і не повинні з’являтися знову під час навігації в історії браузера. Flash Data в Inertia.js працює аналогічно до flash data в Laravel HTTP Sessions, яка видаляється після наступного запиту.
На бекенді — приклад для Laravel, що рендерить view і задає flash data:
Inertia::render('Projects/Index', [
'projects' => $projects,
])->flash('highlight', $project->id);
// Or flash data and redirect back
Inertia::flash('newUserId', $user->id)->back();
На фронтенді доступ до flash data здійснюється через об’єкт page:
<script setup>
import { usePage } from '@inertiajs/vue3'
const page = usePage()
</script>
<template>
<div v-if="page.flash.toast" class="toast">
{{ page.flash.toast.message }}
</div>
</template>
Див. документацію для повних деталей щодо Flash Data в Inertia.js.
# Примітки до релізу
Нижче — повний перелік нових можливостей та змін, а також diff між 2.3.2 and 2.3.3 на GitHub. Наступні нотатки взято безпосередньо з changelog:
# v2.3.3
- Додано підтримку protocol-relative urls у
url.tsвід @machour у https://github.com/inertiajs/inertia/pull/2769 - Виправлено парсинг brackets notation у qs від @skryukov у https://github.com/inertiajs/inertia/pull/2722
- Підтримка Flash Data від @pascalbaljet у https://github.com/inertiajs/inertia/pull/2757