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

Только нужные пропсы в Inertia

Пусть на экране списка пользователей лежат и сами записи, и длинный справочник компаний для фильтра. При смене фильтра компании не меняются, а пересчитывается только массив users. Тянуть оба пропса снова - лишняя работа для сервера и браузера.

У визита есть опция 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'], ]); }); ?>

Давайте обновим список, запросив только пропс users:

<script setup> import { router } from '@inertiajs/vue3' defineProps({ users: Array, companies: Array, }) function refreshUsers() { router.get('/users', {}, { only: ['users'], }) } </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>

Сделайте экран отдела HR с пропсами workers и shifts так, чтобы кнопка обновляла только список работников.

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