Assuming you have, Sveltekit, tRPC.
npm install @tanstack/svelte-query
<!-- +layout.svelte -->
<script lang="ts">
import { QueryClient, QueryClientProvider } from "@tanstack/svelte-query";
const queryClient = new QueryClient();
</script>
<QueryClientProvider client={queryClient}>
<slot />
</QueryClientProvider>
<!-- +page.svelte -->
<script>
import { createQuery } from "@tanstack/svelte-query";
const myQuery =createQuery({
queryKey: ["posts"],
queryFn: async () => {
// attach any async function here.
return await trpc.posts.getList.query();
},
});
})
</script>
<#if $myQuery.isLoading>
<p>Loading...</p>
{:else if $myQuery.isError}
<p>Error: {$myQuery.error}</p>
{:else}
<pre>
{JSON.stringify($myQuery.data, null, 2)}
</pre>
{/if}
I prepared like 10 different data-fetching patterns for you to try: