Das Paket @tanstack/svelte-query bietet eine erstklassige API für die Verwendung von TanStack Query über Svelte.
Integrieren Sie den QueryClientProvider nahe der Wurzel Ihres Projekts
<script lang="ts">
import { QueryClient, QueryClientProvider } from '@tanstack/svelte-query'
import Example from './lib/Example.svelte'
const queryClient = new QueryClient()
</script>
<QueryClientProvider client={queryClient}>
<Example />
</QueryClientProvider>
<script lang="ts">
import { QueryClient, QueryClientProvider } from '@tanstack/svelte-query'
import Example from './lib/Example.svelte'
const queryClient = new QueryClient()
</script>
<QueryClientProvider client={queryClient}>
<Example />
</QueryClientProvider>
Rufen Sie dann eine beliebige Funktion (z.B. createQuery) von einer beliebigen Komponente aus auf
<script lang="ts">
import { createQuery } from '@tanstack/svelte-query'
const query = createQuery({
queryKey: ['todos'],
queryFn: () => fetchTodos(),
})
</script>
<div>
{#if $query.isLoading}
<p>Loading...</p>
{:else if $query.isError}
<p>Error: {$query.error.message}</p>
{:else if $query.isSuccess}
{#each $query.data as todo}
<p>{todo.title}</p>
{/each}
{/if}
</div>
<script lang="ts">
import { createQuery } from '@tanstack/svelte-query'
const query = createQuery({
queryKey: ['todos'],
queryFn: () => fetchTodos(),
})
</script>
<div>
{#if $query.isLoading}
<p>Loading...</p>
{:else if $query.isError}
<p>Error: {$query.error.message}</p>
{:else if $query.isSuccess}
{#each $query.data as todo}
<p>{todo.title}</p>
{/each}
{/if}
</div>
Wenn Sie SvelteKit verwenden, werfen Sie bitte einen Blick auf SSR & SvelteKit.
Svelte Query bietet nützliche Funktionen und Komponenten, die die Verwaltung von Serverzuständen in Svelte-Apps erleichtern.
Svelte Query bietet eine API, die der von React Query ähnelt, aber es gibt einige wichtige Unterschiede, die Sie beachten sollten.