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

Кроме указанных пропсов в Inertia

Давайте теперь представим страницу отчёта: таблица users меняется часто, а блок companies тяжёлый и на экране уже лежит актуальная копия. При каждом обновлении таблицы нет смысла снова гонять справочник компаний по сети.

Опция except задаёт имена пропсов, которые нужно исключить из ответа. Клиент оставит старые значения для них и подменит остальные. Так же, как с only, работает слияние на стороне Inertia после визита на тот же компонент страницы.

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

<?php use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/users', function () { return Inertia::render('Users/Index', [ 'users' => fn () => ['Anna', 'Boris'], 'companies' => fn () => ['Acme', 'Globex'], ]); }); ?>

Давайте обновим данные, исключив пропс companies:

<script setup> import { router } from '@inertiajs/vue3' defineProps({ users: Array, companies: Array, }) function refreshUsers() { router.get('/users', {}, { except: ['companies'], }) } </script> <template> <button type="button" @click="refreshUsers"> Refresh users </button> <ul> <li v-for="user in users" :key="user"> {{ user }} </li> </ul> <p v-for="company in companies" :key="company"> {{ company }} </p> </template>

Сделайте панель склада с пропсами items и vendors так, чтобы обновление затрагивало только остатки, а поставщики остались из памяти клиента.

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