Partial Reloads
Saat mengunjungi halaman yang sama lagi, Anda tidak selalu perlu mengambil ulang semua data dari server. Fitur "partial reload" Inertia membantu mengoptimalkan performa dengan hanya mengambil data yang diperlukan.
Hanya props tertentu
Gunakan opsi only untuk menentukan data mana yang akan dikembalikan:
Vue:
router.visit(url, { only: ['users'] })
React:
router.visit(url, { only: ['users'] })
Svelte:
router.visit(url, { only: ['users'] })
Kecualikan props tertentu
Gunakan opsi except untuk menentukan data mana yang akan dikecualikan:
Vue:
router.visit(url, { except: ['users'] })
React:
router.visit(url, { except: ['users'] })
Svelte:
router.visit(url, { except: ['users'] })
Router shorthand
Gunakan router.reload() untuk kunjungan halaman yang sama:
Vue:
router.reload({ only: ['users'] })
React:
router.reload({ only: ['users'] })
Svelte:
router.reload({ only: ['users'] })
Menggunakan links
Partial reload bekerja dengan Inertia links menggunakan properti only:
Vue:
<Link href="/users?active=true" :only="['users']">Show active</Link>
React:
<Link href="/users?active=true" only={['users']}>Show active</Link>
Svelte:
<a href="/users?active=true" use:inertia={{ only: ['users'] }}>Show active</a>
Lazy data evaluation
Bungkus data opsional dalam closures untuk performa yang lebih baik:
return Inertia::render('Users/Index', [
'users' => fn () => User::all(),
'companies' => fn () => Company::all(),
]);
Gunakan Inertia::optional() untuk hanya menyertakan saat diminta:
return Inertia::render('Users/Index', [
'users' => Inertia::optional(fn () => User::all()),
]);
Gunakan Inertia::always() untuk selalu menyertakan:
return Inertia::render('Users/Index', [
'users' => Inertia::always(User::all()),
]);