diff --git a/src/lib/query/README.md b/src/lib/query/README.md new file mode 100644 index 00000000..8d328d0f --- /dev/null +++ b/src/lib/query/README.md @@ -0,0 +1,119 @@ +# TanStack Query SSR Integration + +This directory contains utilities for integrating TanStack Query v6 with SvelteKit's server-side rendering. + +## Architecture Overview + +The project uses a hybrid approach for SSR: + +1. **QueryClient in Layout**: The `QueryClient` is created in `+layout.ts` and passed to `+layout.svelte` via the load function. This enables prefetching in child page load functions. + +2. **Server Data with initialData**: Pages that use `+page.server.ts` can pass server-fetched data as `initialData` to TanStack Query using the `withInitialData()` helper. + +3. **Prefetching in +page.ts**: Pages that use `+page.ts` (universal load functions) can use `prefetchQuery()` to populate the QueryClient cache before rendering. + +## Usage Examples + +### Pattern 1: Using Server Data with initialData + +For pages that already fetch data in `+page.server.ts`: + +```svelte + + + +{#if $party.data} +