РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppinSpPrAl 11 of 112 menu
◀ ▶

Пропс в каждом ответе в Inertia

Давайте теперь представим фильтр постов: список записей клиент может обновлять снова и снова, а блок подсказок слева должен не пропадать, когда запрос касается только списка.

Метод always помечает пропс так, что он попадает в ответ при каждом визите на эту страницу, даже если клиент явно назвал другие имена полей. Остальные пропсы по-прежнему можно отдавать замыканием и не пересчитывать без нужды.

Давайте отдадим посты замыканием, а подсказки обернём в always:

<?php use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts', function () { return Inertia::render('Posts/Index', [ 'posts' => fn () => ['Alpha', 'Beta'], 'hints' => Inertia::always([ 'Use filters on the right', 'Click a row for details', ]), ]); }); ?>

Давайте обновим на экране только пропс posts и проверим, что hints остаётся на месте:

<script setup> import { router } from '@inertiajs/vue3' defineProps({ posts: Array, hints: Array, }) function refreshPosts() { router.reload({ only: ['posts'] }) } </script> <template> <aside> <p v-for="hint in hints" :key="hint"> {{ hint }} </p> </aside> <ul> <li v-for="post in posts" :key="post"> {{ post }} </li> </ul> <button type="button" @click="refreshPosts"> Refresh posts </button> </template>

Сделайте панель работника Helena, где список tasks можно обновить кнопкой, а пропс notices с текстом напоминания остаётся видимым после этого обновления.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить